Compare commits
110 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9233d3f6f2 | |||
| 58febf7d4b | |||
| 725cb6e3cc | |||
| 629d16b4f1 | |||
| ea551e25e5 | |||
| ff180ec2a4 | |||
| 3b6accaa20 | |||
| a6756b6f77 | |||
| 80bcd2f225 | |||
| 40970b417a | |||
| 647e3fe318 | |||
| 6f2fcbaf3e | |||
| 295f882d45 | |||
| 60ecebf9ff | |||
| 02ecb31ae7 | |||
| 51c736f7f9 | |||
| 1b9f5457f2 | |||
| cb2a22863c | |||
| 82bc1f4ff2 | |||
| b695326901 | |||
| 63092f1ed6 | |||
| 8d548dee9c | |||
| 60758454ed | |||
| a328be0e1c | |||
| 05864bcac5 | |||
| 238bdbb1ce | |||
| 144b8dc66e | |||
| 5f9a01ae2e | |||
| a6386e64d9 | |||
| 551eec6496 | |||
| a24c4ada62 | |||
| 2a86d67ca9 | |||
| 5c4a8adf9b | |||
| 0cc2534628 | |||
| 2a861dca1b | |||
| 16715a8c08 | |||
| 4c5500c490 | |||
| 75b4b4e4d0 | |||
| b643cb5030 | |||
| a666749d85 | |||
| f710918411 | |||
| 1585fc2659 | |||
| a00170b37a | |||
| 00836e0695 | |||
| c06d75e292 | |||
| a6acc66099 | |||
| c822538fb7 | |||
| 9072dc3780 | |||
| a9ed233d77 | |||
| 0635302dac | |||
| 12de367ba1 | |||
| a68dba11a2 | |||
| 60784d2588 | |||
| 5d26914967 | |||
| 4c4356dac7 | |||
| 50d301e8cc | |||
| bfbb85feee | |||
| 9783731396 | |||
| 9ff14634dd | |||
| 42970892ba | |||
| 2bb8cfc4a1 | |||
| 902f610703 | |||
| cb6b2721fc | |||
| d7aa5f1739 | |||
| e67f863235 | |||
| 5f6660d642 | |||
| 437e698d10 | |||
| 9a187ac36b | |||
| 2c04b2e5cc | |||
| a6c10569e0 | |||
| f60be49005 | |||
| b8b42114b6 | |||
| 69b2734987 | |||
| a52a8dfe36 | |||
| b73a4ba6c0 | |||
| 98628b887e | |||
| 5152600fd9 | |||
| c9b9646bbb | |||
| c6732698e8 | |||
| 89ab41da44 | |||
| 2b5bb35e21 | |||
| 68ee954dd3 | |||
| a47a5ed09a | |||
| b272f1f2bb | |||
| 5aba0cf14f | |||
| a1c3a9fb30 | |||
| 90adb8b200 | |||
| 1e61027dbd | |||
| 4d26959075 | |||
| d41f20d95e | |||
| 799c0530be | |||
| 6cea8cbcf8 | |||
| 85827e5d29 | |||
| 042d308648 | |||
| c13122198e | |||
| 96432122a2 | |||
| 8201c93a8e | |||
| 1d7e26f18d | |||
| 6e55664281 | |||
| b348229691 | |||
| 82fd57d838 | |||
| 708ffc576d | |||
| bd6327586e | |||
| 8d20b2f190 | |||
| ff5ce8be86 | |||
| 83568d12a3 | |||
| ce7cd01012 | |||
| 054d21c625 | |||
| c5d236b379 | |||
| db217222de |
@@ -3,18 +3,24 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.32002.261
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Icarus", "Icarus/Icarus.vbproj", "{BCDE0368-2C69-4948-8723-D0FE71417986}"
|
||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Icarus", "Icarus\Icarus.vbproj", "{BCDE0368-2C69-4948-8723-D0FE71417986}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{BCDE0368-2C69-4948-8723-D0FE71417986}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{BCDE0368-2C69-4948-8723-D0FE71417986}.Debug|x64.Build.0 = Debug|x64
|
||||
{BCDE0368-2C69-4948-8723-D0FE71417986}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{BCDE0368-2C69-4948-8723-D0FE71417986}.Debug|x86.Build.0 = Debug|x86
|
||||
{BCDE0368-2C69-4948-8723-D0FE71417986}.Release|x64.ActiveCfg = Release|x64
|
||||
{BCDE0368-2C69-4948-8723-D0FE71417986}.Release|x64.Build.0 = Release|x64
|
||||
{BCDE0368-2C69-4948-8723-D0FE71417986}.Release|x86.ActiveCfg = Release|x86
|
||||
{BCDE0368-2C69-4948-8723-D0FE71417986}.Release|x86.Build.0 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
||||
@@ -1,275 +0,0 @@
|
||||
' Follow steps 1a or 1b and then 2 to use this custom control in a XAML file.
|
||||
'
|
||||
' Step 1a) Using this custom control in a XAML file that exists in the current project.
|
||||
' Add this XmlNamespace attribute to the root element of the markup file where it is
|
||||
' to be used:
|
||||
'
|
||||
' xmlns:MyNamespace="clr-namespace:Icarus"
|
||||
'
|
||||
'
|
||||
' Step 1b) Using this custom control in a XAML file that exists in a different project.
|
||||
' Add this XmlNamespace attribute to the root element of the markup file where it is
|
||||
' to be used:
|
||||
'
|
||||
' xmlns:MyNamespace="clr-namespace:Icarus;assembly=Icarus"
|
||||
'
|
||||
' You will also need to add a project reference from the project where the XAML file lives
|
||||
' to this project and Rebuild to avoid compilation errors:
|
||||
'
|
||||
' Right click on the target project in the Solution Explorer and
|
||||
' "Add Reference"->"Projects"->[Browse to and select this project]
|
||||
'
|
||||
'
|
||||
' Step 2)
|
||||
' Go ahead and use your control in the XAML file. Note that Intellisense in the
|
||||
' XML editor does not currently work on custom controls and its child elements.
|
||||
'
|
||||
' <MyNamespace:AirspacePopup/>
|
||||
'
|
||||
|
||||
Imports System.Windows.Controls.Primitives
|
||||
Imports System
|
||||
Imports System.ComponentModel
|
||||
Imports System.Diagnostics
|
||||
Imports System.Runtime.InteropServices
|
||||
Imports System.Windows
|
||||
Imports System.Windows.Input
|
||||
Imports System.Windows.Interop
|
||||
|
||||
Public Class AirspacePopup
|
||||
Inherits Popup
|
||||
|
||||
Public Shared ReadOnly IsTopmostProperty As DependencyProperty = DependencyProperty.Register("IsTopmost", GetType(Boolean), GetType(AirspacePopup), New FrameworkPropertyMetadata(False, AddressOf OnIsTopmostChanged))
|
||||
Public Shared ReadOnly FollowPlacementTargetProperty As DependencyProperty = DependencyProperty.RegisterAttached("FollowPlacementTarget", GetType(Boolean), GetType(AirspacePopup), New UIPropertyMetadata(False))
|
||||
Public Shared ReadOnly AllowOutsideScreenPlacementProperty As DependencyProperty = DependencyProperty.RegisterAttached("AllowOutsideScreenPlacement", GetType(Boolean), GetType(AirspacePopup), New UIPropertyMetadata(False))
|
||||
Public Shared ReadOnly ParentWindowProperty As DependencyProperty = DependencyProperty.RegisterAttached("ParentWindow", GetType(Window), GetType(AirspacePopup), New UIPropertyMetadata(Nothing, AddressOf ParentWindowPropertyChanged))
|
||||
|
||||
Private Shared Sub OnIsTopmostChanged(ByVal source As DependencyObject, ByVal e As DependencyPropertyChangedEventArgs)
|
||||
Dim airspacePopup As AirspacePopup = TryCast(source, AirspacePopup)
|
||||
airspacePopup.SetTopmostState(airspacePopup.IsTopmost)
|
||||
End Sub
|
||||
|
||||
Private Shared Sub ParentWindowPropertyChanged(ByVal source As DependencyObject, ByVal e As DependencyPropertyChangedEventArgs)
|
||||
Dim airspacePopup As AirspacePopup = TryCast(source, AirspacePopup)
|
||||
airspacePopup.ParentWindowChanged()
|
||||
End Sub
|
||||
|
||||
Private m_appliedTopMost As Boolean?
|
||||
Private m_alreadyLoaded As Boolean
|
||||
Private m_parentWindow As Window
|
||||
|
||||
Shared Sub New()
|
||||
'This OverrideMetadata call tells the system that this element wants to provide a style that is different than its base class.
|
||||
'This style is defined in themes\generic.xaml
|
||||
DefaultStyleKeyProperty.OverrideMetadata(GetType(AirspacePopup), New FrameworkPropertyMetadata(GetType(AirspacePopup)))
|
||||
End Sub
|
||||
|
||||
Public Sub New()
|
||||
AddHandler Loaded, AddressOf OnPopupLoaded
|
||||
AddHandler Unloaded, AddressOf OnPopupUnloaded
|
||||
Dim descriptor As DependencyPropertyDescriptor = DependencyPropertyDescriptor.FromProperty(PlacementTargetProperty, GetType(AirspacePopup))
|
||||
descriptor.AddValueChanged(Me, AddressOf PlacementTargetChanged)
|
||||
End Sub
|
||||
|
||||
Public Property IsTopmost As Boolean
|
||||
Get
|
||||
Return CBool(GetValue(IsTopmostProperty))
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
SetValue(IsTopmostProperty, value)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property FollowPlacementTarget As Boolean
|
||||
Get
|
||||
Return CBool(GetValue(FollowPlacementTargetProperty))
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
SetValue(FollowPlacementTargetProperty, value)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property AllowOutsideScreenPlacement As Boolean
|
||||
Get
|
||||
Return CBool(GetValue(AllowOutsideScreenPlacementProperty))
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
SetValue(AllowOutsideScreenPlacementProperty, value)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property ParentWindow As Window
|
||||
Get
|
||||
Return CType(GetValue(ParentWindowProperty), Window)
|
||||
End Get
|
||||
Set(ByVal value As Window)
|
||||
SetValue(ParentWindowProperty, value)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Sub ParentWindowChanged()
|
||||
If ParentWindow IsNot Nothing Then
|
||||
AddHandler ParentWindow.LocationChanged, Function(sender, e2)
|
||||
UpdatePopupPosition()
|
||||
End Function
|
||||
|
||||
AddHandler ParentWindow.SizeChanged, Function(sender, e2)
|
||||
UpdatePopupPosition()
|
||||
End Function
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub PlacementTargetChanged(ByVal sender As Object, ByVal e As EventArgs)
|
||||
Dim placementTarget As FrameworkElement = TryCast(Me.PlacementTarget, FrameworkElement)
|
||||
|
||||
If placementTarget IsNot Nothing Then
|
||||
AddHandler placementTarget.SizeChanged, Function(sender2, e2)
|
||||
UpdatePopupPosition()
|
||||
End Function
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub UpdatePopupPosition()
|
||||
Dim placementTarget As FrameworkElement = TryCast(Me.PlacementTarget, FrameworkElement)
|
||||
Dim child As FrameworkElement = TryCast(Me.Child, FrameworkElement)
|
||||
|
||||
If PresentationSource.FromVisual(placementTarget) IsNot Nothing AndAlso AllowOutsideScreenPlacement = True Then
|
||||
Dim leftOffset As Double = CutLeft(placementTarget)
|
||||
Dim topOffset As Double = CutTop(placementTarget)
|
||||
Dim rightOffset As Double = CutRight(placementTarget)
|
||||
Dim bottomOffset As Double = CutBottom(placementTarget)
|
||||
Debug.WriteLine(bottomOffset)
|
||||
Me.Width = Math.Max(0, Math.Min(leftOffset, rightOffset) + placementTarget.ActualWidth)
|
||||
Me.Height = Math.Max(0, Math.Min(topOffset, bottomOffset) + placementTarget.ActualHeight)
|
||||
|
||||
If child IsNot Nothing Then
|
||||
child.Margin = New Thickness(leftOffset, topOffset, rightOffset, bottomOffset)
|
||||
End If
|
||||
End If
|
||||
|
||||
If FollowPlacementTarget = True Then
|
||||
Me.HorizontalOffset += 0.01
|
||||
Me.HorizontalOffset -= 0.01
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Function CutLeft(ByVal placementTarget As FrameworkElement) As Double
|
||||
Dim point As Point = placementTarget.PointToScreen(New Point(0, placementTarget.ActualWidth))
|
||||
Return Math.Min(0, point.X)
|
||||
End Function
|
||||
|
||||
Private Function CutTop(ByVal placementTarget As FrameworkElement) As Double
|
||||
Dim point As Point = placementTarget.PointToScreen(New Point(placementTarget.ActualHeight, 0))
|
||||
Return Math.Min(0, point.Y)
|
||||
End Function
|
||||
|
||||
Private Function CutRight(ByVal placementTarget As FrameworkElement) As Double
|
||||
Dim point As Point = placementTarget.PointToScreen(New Point(0, placementTarget.ActualWidth))
|
||||
point.X += placementTarget.ActualWidth
|
||||
Return Math.Min(0, SystemParameters.VirtualScreenWidth - (Math.Max(SystemParameters.VirtualScreenWidth, point.X)))
|
||||
End Function
|
||||
|
||||
Private Function CutBottom(ByVal placementTarget As FrameworkElement) As Double
|
||||
Dim point As Point = placementTarget.PointToScreen(New Point(placementTarget.ActualHeight, 0))
|
||||
point.Y += placementTarget.ActualHeight
|
||||
Return Math.Min(0, SystemParameters.VirtualScreenHeight - (Math.Max(SystemParameters.VirtualScreenHeight, point.Y)))
|
||||
End Function
|
||||
|
||||
Private Sub OnPopupLoaded(ByVal sender As Object, ByVal e As RoutedEventArgs)
|
||||
If m_alreadyLoaded Then Return
|
||||
m_alreadyLoaded = True
|
||||
|
||||
If Child IsNot Nothing Then
|
||||
Child.[AddHandler](PreviewMouseLeftButtonDownEvent, New MouseButtonEventHandler(AddressOf OnChildPreviewMouseLeftButtonDown), True)
|
||||
End If
|
||||
|
||||
m_parentWindow = Window.GetWindow(Me)
|
||||
If m_parentWindow Is Nothing Then Return
|
||||
AddHandler m_parentWindow.Activated, AddressOf OnParentWindowActivated
|
||||
AddHandler m_parentWindow.Deactivated, AddressOf OnParentWindowDeactivated
|
||||
End Sub
|
||||
|
||||
Private Sub OnPopupUnloaded(ByVal sender As Object, ByVal e As RoutedEventArgs)
|
||||
If m_parentWindow Is Nothing Then Return
|
||||
RemoveHandler m_parentWindow.Activated, AddressOf OnParentWindowActivated
|
||||
RemoveHandler m_parentWindow.Deactivated, AddressOf OnParentWindowDeactivated
|
||||
End Sub
|
||||
|
||||
Private Sub OnParentWindowActivated(ByVal sender As Object, ByVal e As EventArgs)
|
||||
SetTopmostState(True)
|
||||
End Sub
|
||||
|
||||
Private Sub OnParentWindowDeactivated(ByVal sender As Object, ByVal e As EventArgs)
|
||||
If IsTopmost = False Then
|
||||
SetTopmostState(IsTopmost)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub OnChildPreviewMouseLeftButtonDown(ByVal sender As Object, ByVal e As MouseButtonEventArgs)
|
||||
SetTopmostState(True)
|
||||
|
||||
If Not m_parentWindow.IsActive AndAlso IsTopmost = False Then
|
||||
m_parentWindow.Activate()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Protected Overrides Sub OnOpened(ByVal e As EventArgs)
|
||||
SetTopmostState(IsTopmost)
|
||||
MyBase.OnOpened(e)
|
||||
End Sub
|
||||
|
||||
Private Sub SetTopmostState(ByVal isTop As Boolean)
|
||||
If m_appliedTopMost.HasValue AndAlso m_appliedTopMost = isTop Then
|
||||
Return
|
||||
End If
|
||||
|
||||
If Child Is Nothing Then Return
|
||||
Dim hwndSource = TryCast((PresentationSource.FromVisual(Child)), HwndSource)
|
||||
If hwndSource Is Nothing Then Return
|
||||
Dim hwnd = hwndSource.Handle
|
||||
Dim rect As RECT
|
||||
If Not GetWindowRect(hwnd, rect) Then Return
|
||||
Debug.WriteLine("setting z-order " & isTop)
|
||||
|
||||
If isTop Then
|
||||
SetWindowPos(hwnd, HWND_TOPMOST, rect.Left, rect.Top, CInt(Width), CInt(Height), TOPMOST_FLAGS)
|
||||
Else
|
||||
SetWindowPos(hwnd, HWND_BOTTOM, rect.Left, rect.Top, CInt(Width), CInt(Height), TOPMOST_FLAGS)
|
||||
SetWindowPos(hwnd, HWND_TOP, rect.Left, rect.Top, CInt(Width), CInt(Height), TOPMOST_FLAGS)
|
||||
SetWindowPos(hwnd, HWND_NOTOPMOST, rect.Left, rect.Top, CInt(Width), CInt(Height), TOPMOST_FLAGS)
|
||||
End If
|
||||
|
||||
m_appliedTopMost = isTop
|
||||
End Sub
|
||||
|
||||
<StructLayout(LayoutKind.Sequential)>
|
||||
Public Structure RECT
|
||||
Public Left As Integer
|
||||
Public Top As Integer
|
||||
Public Right As Integer
|
||||
Public Bottom As Integer
|
||||
End Structure
|
||||
|
||||
<DllImport("user32.dll")>
|
||||
Private Shared Function GetWindowRect(ByVal hWnd As IntPtr, <Out> ByRef lpRect As RECT) As Boolean
|
||||
End Function
|
||||
<DllImport("user32.dll")>
|
||||
Private Shared Function SetWindowPos(ByVal hWnd As IntPtr, ByVal hWndInsertAfter As IntPtr, ByVal X As Integer, ByVal Y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal uFlags As UInteger) As Boolean
|
||||
End Function
|
||||
Shared ReadOnly HWND_TOPMOST As IntPtr = New IntPtr(-1)
|
||||
Shared ReadOnly HWND_NOTOPMOST As IntPtr = New IntPtr(-2)
|
||||
Shared ReadOnly HWND_TOP As IntPtr = New IntPtr(0)
|
||||
Shared ReadOnly HWND_BOTTOM As IntPtr = New IntPtr(1)
|
||||
Private Const SWP_NOSIZE As UInt32 = &H1
|
||||
Const SWP_NOMOVE As UInt32 = &H2
|
||||
Const SWP_NOZORDER As UInt32 = &H4
|
||||
Const SWP_NOREDRAW As UInt32 = &H8
|
||||
Const SWP_NOACTIVATE As UInt32 = &H10
|
||||
Const SWP_FRAMECHANGED As UInt32 = &H20
|
||||
Const SWP_SHOWWINDOW As UInt32 = &H40
|
||||
Const SWP_HIDEWINDOW As UInt32 = &H80
|
||||
Const SWP_NOCOPYBITS As UInt32 = &H100
|
||||
Const SWP_NOOWNERZORDER As UInt32 = &H200
|
||||
Const SWP_NOSENDCHANGING As UInt32 = &H400
|
||||
Const TOPMOST_FLAGS As UInt32 = SWP_NOACTIVATE Or SWP_NOOWNERZORDER Or SWP_NOSIZE Or SWP_NOMOVE Or SWP_NOREDRAW Or SWP_NOSENDCHANGING
|
||||
End Class
|
||||
@@ -5,6 +5,14 @@
|
||||
Protected Overrides Sub OnStartup(e As StartupEventArgs)
|
||||
MyBase.OnStartup(e)
|
||||
ShutdownMode = System.Windows.ShutdownMode.OnMainWindowClose
|
||||
If e.Args.Count = 0 Then
|
||||
' creo finestra SplashScreen
|
||||
Dim SplashScreen As New SplashScreen
|
||||
Me.MainWindow = SplashScreen
|
||||
Me.MainWindow.Show()
|
||||
Map.SetRefSplashScreen(SplashScreen)
|
||||
End If
|
||||
|
||||
' Creo la View principale
|
||||
Me.MainWindow = New MainWindowV
|
||||
' Mostro la View principale
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
Public Const TABLE = "Table"
|
||||
Public Const TABLE_OUTLINE = "TableOutline"
|
||||
Public Const PART = "Part"
|
||||
Public Const ORIGINAL_SOLID = "OriginalSolid"
|
||||
Public Const PRINT_SOLID = "PrintSolid"
|
||||
Public Const LAY_MACH_START = "MachStart"
|
||||
Public Const LAY_REFERENCE = "Frame"
|
||||
@@ -15,11 +14,13 @@
|
||||
Public Const START_GEOM = "Start"
|
||||
Public Const RIB_EXTRUSION = "RibExtrusion"
|
||||
Public Const RIB_CURVE = "RibCurve"
|
||||
Public Const RIB_ID = "RibId"
|
||||
Public Const VIEWPARAMS = "ViewParams"
|
||||
Public Const IMPORTED_SOLID = "ImportedSolid"
|
||||
Public Const RESULT_READ_PROG = "ResultReadProg"
|
||||
Public Const KEY_CALC_SOLIDS = "CalcSolids"
|
||||
Public Const KEY_HAS_SOLIDS = "Solids"
|
||||
Public Const LAY_CHUNKS = "Chunks"
|
||||
|
||||
|
||||
' parametri calcolo tempi, F ed S
|
||||
@@ -37,6 +38,7 @@
|
||||
Public Const KEY_SPEED = "Speed"
|
||||
Public Const KEY_SLICEID = "SliceId"
|
||||
Public Const KEY_MASS = "PrintMass"
|
||||
Public Const KEY_EMITWAITINGTIME = "EmitWaitingTime"
|
||||
|
||||
|
||||
' parametri Materiali
|
||||
@@ -47,7 +49,8 @@
|
||||
Public Const MAT_T3 = "T3"
|
||||
Public Const MAT_T4 = "T4"
|
||||
Public Const MAT_T5 = "T5"
|
||||
Public Const MAT_K = "K"
|
||||
Public Const MAT_KEXTRUSION = "KExtrusion"
|
||||
Public Const MAT_KLAYERTIME = "KLayerTime"
|
||||
Public Const MAT_C1 = "C1"
|
||||
Public Const MAT_C2 = "C2"
|
||||
Public Const MAT_DENSITY = "Density"
|
||||
@@ -64,16 +67,20 @@
|
||||
|
||||
' parametri Lavorazione
|
||||
Public Const MAC_TORECALC_SLICE = "ToRecalcSlice"
|
||||
Public Const MAC_TORECALC_TFS = "ToRecalcTFS"
|
||||
Public Const MAC_TORECALC_GENERATE = "ToRecalcGenerate"
|
||||
Public Const MAC_GUID = "GUID"
|
||||
Public Const MAC_NAME = "Name"
|
||||
Public Const MAC_SLICING45 = "Slicing45"
|
||||
Public Const MAC_SLICINGTYPE = "SlicingType"
|
||||
Public Const MAC_SPIRALVASE = "SpiralVase"
|
||||
Public Const MAC_STRANDH = "StrandH"
|
||||
Public Const MAC_STRANDW = "StrandW"
|
||||
Public Const MAC_STRANDCOUNT = "StrandCount"
|
||||
Public Const MAC_OFFSET = "Offset"
|
||||
Public Const MAC_STARTPOINTOFFSETONSLICE = "StartPointOffsetOnSlice"
|
||||
Public Const MAC_STRANDORDER = "StrandOrder"
|
||||
Public Const MAC_STRANDOVERLAP = "StrandOverlap"
|
||||
Public Const MAC_DIRECTION = "Direction"
|
||||
Public Const MAC_LINKTYPE = "LinkType"
|
||||
Public Const MAC_LINKPARAM = "LinkParam"
|
||||
@@ -86,12 +93,15 @@
|
||||
Public Const MAC_LEADOUTTANGDIST = "LeadOutTangDist"
|
||||
Public Const MAC_LEADOUTORTHODIST = "LeadOutOrthoDist"
|
||||
Public Const MAC_COASTINGLEN = "CoastingLen"
|
||||
Public Const MAC_COASTINGFEED = "CoastingFeed"
|
||||
Public Const MAC_COASTINGFEEDPU = "CoastingFeedPu"
|
||||
Public Const MAC_WIPELEN = "WipeLen"
|
||||
Public Const MAC_WIPEFEEDPU = "WipeFeedPu"
|
||||
Public Const MAC_WIPEDIR = "WipeDir"
|
||||
Public Const MAC_FLOORCOUNT = "FloorCount"
|
||||
Public Const MAC_G0FEED = "G0Feed"
|
||||
Public Const MAC_G0FEEDZ = "G0FeedZ"
|
||||
Public Const MAC_TOOLDIAM = "ToolDiam"
|
||||
Public Const MAC_RIBSTYPE = "RibsType"
|
||||
Public Const MAC_RIBSOVERLAP = "RibsOverlap"
|
||||
Public Const MAC_RIBSSTRANDCOUNT = "RibsStrandCount"
|
||||
Public Const MAC_RIBSLINK = "RibsLink"
|
||||
@@ -117,6 +127,9 @@
|
||||
Public Const MAC_AUXSOLIDSCOASTINGLEN = "AuxSolidsCoastingLen"
|
||||
Public Const MAC_AUXSOLIDSWIPELEN = "AuxSolidsWipeLen"
|
||||
Public Const MAC_AUXSOLIDSWIPEDIR = "AuxSolidsWipeDir"
|
||||
Public Const MAC_DYNAMICMODE = "DynamicMode"
|
||||
Public Const MAC_PRINTORDER = "PrintOrder"
|
||||
Public Const MAC_CONSTANT = "Constant"
|
||||
Public Const MAC_MATERIALS = "Materials"
|
||||
|
||||
' parametri StartMach
|
||||
@@ -137,6 +150,14 @@
|
||||
' macchina in progetto
|
||||
Public Const KEY_MACHINE_NAME = "MachineName"
|
||||
|
||||
' materiale in progetto
|
||||
Public Const KEY_MATERIAL_GUID = "MaterialGuid"
|
||||
Public Const KEY_MATERIAL_NAME = "MaterialName"
|
||||
' nome file cn in progetto
|
||||
Public Const KEY_ISOFILE_PATH = "IsoFilePath"
|
||||
|
||||
Public Const FILE_PATH = "FilePath"
|
||||
Public Const PART_NAME = "PartName"
|
||||
Public Const ENTITY_NAME = "EntityName"
|
||||
|
||||
End Module
|
||||
|
||||
@@ -51,17 +51,7 @@ Public Module ConstGen
|
||||
|
||||
' Abilitazioni licenza
|
||||
Friend Enum KEY_OPT As UInteger
|
||||
BASE = 1 ' Prodotto EgtCAM5
|
||||
DOORS = 2
|
||||
GUNSTOCK = 4
|
||||
DOORCREATOR = 8 ' Prodotto DOORCreator
|
||||
VIRTUALMILLING = 16
|
||||
JAMBS = 32
|
||||
BEAM = 64
|
||||
CAD2D = 128
|
||||
STEELDORS = 256
|
||||
WALL = 512
|
||||
_3DPRINT = 1024
|
||||
BASE = 1 ' Prodotto Icarus
|
||||
End Enum
|
||||
|
||||
' File di log generale
|
||||
|
||||
@@ -42,6 +42,7 @@ Public Module ConstIni
|
||||
Public Const K_MOD_AUXSOLIDS As String = "ModAuxSolids"
|
||||
Public Const K_MOD_SOLIDSLICE As String = "ModSolidSlice"
|
||||
Public Const K_MOD_SLICETOOLPATH As String = "ModSliceToolPath"
|
||||
Public Const K_MOD_OTHERS As String = "ModOthers"
|
||||
Public Const K_SLC_PRINTSOLID As String = "SlcPrintSolid"
|
||||
Public Const K_SLC_REFERENCE As String = "SlcReference"
|
||||
Public Const K_SLC_STARTMACHINING As String = "SlcStartMAchining"
|
||||
@@ -50,6 +51,7 @@ Public Module ConstIni
|
||||
Public Const K_SLC_AUXSOLIDS As String = "SlcAuxSolids"
|
||||
Public Const K_SLC_SOLIDSLICE As String = "SlcSolidSlice"
|
||||
Public Const K_SLC_SLICETOOLPATH As String = "SlcSliceToolPath"
|
||||
Public Const K_SLC_OTHERS As String = "SlcOthers"
|
||||
|
||||
'Public Const S_LUA As String = "Lua"
|
||||
'Public Const K_LIBSDIR As String = "LibsDir"
|
||||
@@ -60,6 +62,7 @@ Public Module ConstIni
|
||||
'Public Const K_NFEFONTDIR As String = "NfeFontDir"
|
||||
'Public Const K_DEFAULTCOLOR As String = "DefaultColor"
|
||||
'Public Const K_SAVETYPE As String = "SaveType"
|
||||
Public Const K_SURFTMTOLER As String = "SurfTmToler"
|
||||
|
||||
'Public Const S_OPENGL As String = "OpenGL"
|
||||
'Public Const K_DOUBLEBUFFER As String = "DoubleBuffer"
|
||||
@@ -95,6 +98,8 @@ Public Module ConstIni
|
||||
'Public Const K_MAJLNCOLOR As String = "MajLnColor"
|
||||
|
||||
Public Const S_IMPORT As String = "Import"
|
||||
Public Const K_DXFSCALE As String = "DxfScale"
|
||||
Public Const K_STLSCALE As String = "StlScale"
|
||||
Public Const K_CNCFLAG As String = "CncFlag"
|
||||
|
||||
'Public Const S_SIMUL As String = "Simul"
|
||||
@@ -106,6 +111,15 @@ Public Module ConstIni
|
||||
Public Const K_CURRMATERIAL As String = "CurrMaterial"
|
||||
Public Const K_CURRMACHINING As String = "CurrMachining"
|
||||
Public Const K_VIEWSLIDER As String = "ViewSlider"
|
||||
Public Const K_IMPORTCURREXTENSION As String = "ImportCurrExtension"
|
||||
|
||||
Public Const S_COLORS As String = "Colors"
|
||||
Public Const K_CLR_PRINTPART As String = "PrintPart"
|
||||
Public Const K_CLR_RIBS As String = "Ribs"
|
||||
Public Const K_CLR_SHELLNUMBERS As String = "ShellNumbers"
|
||||
Public Const K_CLR_AUXSOLIDS As String = "AuxSolids"
|
||||
Public Const K_CLR_MACHSTART As String = "MachStart"
|
||||
Public Const K_CLR_OTHERS As String = "Others"
|
||||
|
||||
Public Const S_MRUFILES As String = "MruFiles"
|
||||
Public Const S_MRUIMPORTFILES As String = "MruImportFiles"
|
||||
|
||||
@@ -9,6 +9,9 @@
|
||||
|
||||
Public Const S_CHANNELS As String = "Channels"
|
||||
|
||||
Public Const S_PARTPROGRAM As String = "PartProgram"
|
||||
Public Const S_EXTENSION As String = "Extension"
|
||||
|
||||
' Variables della macchina corrente
|
||||
Public Const S_MAINVARIABLES As String = "MainVariables"
|
||||
Public Const S_VARIABLES As String = "Variables"
|
||||
@@ -29,6 +32,7 @@
|
||||
Public Const K_MACH_EXITSCRIPT As String = "ExitScript"
|
||||
|
||||
Public Const S_MACH_PRINTING3D As String = "3dPrinting"
|
||||
Public Const K_SLICINGTYPE As String = "SlicingType"
|
||||
Public Const K_SPEED_MIN As String = "SpeedMin"
|
||||
Public Const K_SPEED_MAX As String = "SpeedMax"
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports System.Collections.Specialized
|
||||
Imports System.ComponentModel
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
@@ -16,11 +17,21 @@ Public Class CurrMachining
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property bCurrSlicing45 As Boolean
|
||||
Public ReadOnly Property dCurrSlicingType As Machining.MPAR_SLICINGTYPE
|
||||
Get
|
||||
Dim Slicing45 As CurrCheckMachiningParam = m_CathegoryList.FirstOrDefault(Function(x) x.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(y) y.Type = MachiningParam.Params.SLICING45)
|
||||
Dim SlicingType As CurrComboMachiningParam = m_CathegoryList.FirstOrDefault(Function(x) x.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(y) y.Type = MachiningParam.Params.SLICINGTYPE)
|
||||
If Not IsNothing(SlicingType) Then
|
||||
Return SlicingType.SelValue.Id
|
||||
Else
|
||||
Return 0
|
||||
End If
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property sCurrSlicingType As String
|
||||
Get
|
||||
Dim Slicing45 As CurrComboMachiningParam = m_CathegoryList.FirstOrDefault(Function(x) x.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(y) y.Type = MachiningParam.Params.SLICINGTYPE)
|
||||
If Not IsNothing(Slicing45) Then
|
||||
Return Slicing45.bValue
|
||||
Return Slicing45.SelValue.Name
|
||||
Else
|
||||
Return False
|
||||
End If
|
||||
@@ -97,11 +108,6 @@ Public Class CurrMachining
|
||||
End If
|
||||
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.GENERAL, nPartId, m_nIndex, False))
|
||||
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.LINK, nPartId, m_nIndex, False))
|
||||
'm_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.LEADIN, nPartId, m_nIndex, False))
|
||||
'm_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.LEADOUT, nPartId, m_nIndex, False))
|
||||
'm_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.COASTING, nPartId, m_nIndex, False))
|
||||
'm_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.WIPE, nPartId, m_nIndex, False))
|
||||
'm_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.TOOL, nPartId, m_nIndex, False))
|
||||
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.RIBS, nPartId, m_nIndex, False))
|
||||
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.SHELL_NUMBER, nPartId, m_nIndex, False))
|
||||
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.AUX_SOLID, nPartId, m_nIndex, False))
|
||||
@@ -119,11 +125,6 @@ Public Class CurrMachining
|
||||
m_sCurrGUID = CurrMachiningInDb.sGUID
|
||||
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.GENERAL, nPartId, m_nIndex, True))
|
||||
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.LINK, nPartId, m_nIndex, True))
|
||||
'm_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.LEADIN, nPartId, m_nIndex, True))
|
||||
'm_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.LEADOUT, nPartId, m_nIndex, True))
|
||||
'm_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.COASTING, nPartId, m_nIndex, True))
|
||||
'm_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.WIPE, nPartId, m_nIndex, True))
|
||||
'm_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.TOOL, nPartId, m_nIndex, True))
|
||||
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.RIBS, nPartId, m_nIndex, True))
|
||||
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.SHELL_NUMBER, nPartId, m_nIndex, True))
|
||||
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.AUX_SOLID, nPartId, m_nIndex, True))
|
||||
@@ -150,14 +151,15 @@ Public Class CurrMachining
|
||||
|
||||
Friend Overrides Sub OnMachiningParamPropertyChanged(sender As Object, e As PropertyChangedEventArgs)
|
||||
Select Case e.PropertyName
|
||||
Case NameOf(sender.dValue), NameOf(sender.sValue), NameOf(sender.bValue), NameOf(sender.SelValue)
|
||||
Case NameOf(sender.dValue), NameOf(sender.sValue), NameOf(sender.bValue), NameOf(sender.SelValue), NameOf(sender.Value)
|
||||
m_bIsModified = m_CathegoryList.Any(Function(x) x.MachiningParamList.Any(Function(y) y.bIsModified))
|
||||
NotifyPropertyChanged(NameOf(ghName))
|
||||
NotifyPropertyChanged(NameOf(bCurrSlicing45))
|
||||
NotifyPropertyChanged(NameOf(sCurrSlicingType))
|
||||
NotifyPropertyChanged(NameOf(sCurrStrandH))
|
||||
NotifyPropertyChanged(NameOf(sCurrStrandW))
|
||||
NotifyPropertyChanged(NameOf(sCurrStrandCount))
|
||||
NotifyPropertyChanged(NameOf(sCurrOffset))
|
||||
sender.NotifyPropertyChanged(NameOf(sender.bIsModifiedFromDb))
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -182,17 +184,23 @@ Public Class CurrMachiningCathegory
|
||||
Select Case m_Type
|
||||
Case Cathegories.GENERAL
|
||||
m_sName = "General"
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New CurrCheckMachiningParam(MachiningParam.Params.SLICING45, nPartId, nIndex, bForceFromDb),
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New CurrComboMachiningParam(MachiningParam.Params.SLICINGTYPE, nPartId, nIndex, bForceFromDb),
|
||||
New CurrCheckMachiningParam(MachiningParam.Params.SPIRALVASE, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.STRANDH, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.STRANDW, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.STRANDCOUNT, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.OFFSET, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.STRANDOVERLAP, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.STARTPOINTOFFSETONSLICE, nPartId, nIndex, bForceFromDb),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.STRANDORDER, nPartId, nIndex, bForceFromDb),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.DIRECTION, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.FLOORCOUNT, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.G0FEED, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.TOOLDIAM, nPartId, nIndex, bForceFromDb)})
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.G0FEEDZ, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.TOOLDIAM, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.FLOWRATE_PC, nPartId, nIndex, bForceFromDb),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.DYNAMIC_MODE, nPartId, nIndex, bForceFromDb),
|
||||
New CurrOrderedMachiningParam(MachiningParam.Params.PRINT_ORDER, nPartId, nIndex, bForceFromDb)})
|
||||
Case Cathegories.LINK
|
||||
m_sName = "Shell"
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New CurrComboMachiningParam(MachiningParam.Params.LINKTYPE, nPartId, nIndex, bForceFromDb),
|
||||
@@ -206,41 +214,21 @@ Public Class CurrMachiningCathegory
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.LEADOUTTANGDIST, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.LEADOUTORTHODIST, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.COASTINGLEN, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.COASTINGFEED, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.COASTINGFEED_PC, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.WIPELEN, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.WIPEFEEDPU, nPartId, nIndex, bForceFromDb)})
|
||||
'Case Cathegories.LEADIN
|
||||
' m_sName = "Lead In"
|
||||
' m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.OFFSETLEADPOINT, nPartId, nIndex, bForceFromDb),
|
||||
' New CurrComboMachiningParam(MachiningParam.Params.LEADIN, nPartId, nIndex, bForceFromDb),
|
||||
' New CurrNumericMachiningParam(MachiningParam.Params.LEADINTANGDIST, nPartId, nIndex, bForceFromDb),
|
||||
' New CurrNumericMachiningParam(MachiningParam.Params.LEADINORTHODIST, nPartId, nIndex, bForceFromDb)})
|
||||
'Case Cathegories.LEADOUT
|
||||
' m_sName = "Lead Out"
|
||||
' m_MachiningParamList = New List(Of MachiningParam)({New CurrComboMachiningParam(MachiningParam.Params.LEADOUT, nPartId, nIndex, bForceFromDb),
|
||||
' New CurrNumericMachiningParam(MachiningParam.Params.LEADOUTTANGDIST, nPartId, nIndex, bForceFromDb),
|
||||
' New CurrNumericMachiningParam(MachiningParam.Params.LEADOUTORTHODIST, nPartId, nIndex, bForceFromDb)})
|
||||
'Case Cathegories.COASTING
|
||||
' m_sName = "Coasting"
|
||||
' m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.COASTINGLEN, nPartId, nIndex, bForceFromDb),
|
||||
' New CurrNumericMachiningParam(MachiningParam.Params.COASTINGFEED, nPartId, nIndex, bForceFromDb)})
|
||||
'Case Cathegories.WIPE
|
||||
' m_sName = "Wipe"
|
||||
' m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.WIPELEN, nPartId, nIndex, bForceFromDb),
|
||||
' New CurrNumericMachiningParam(MachiningParam.Params.WIPEFEEDPU, nPartId, nIndex, bForceFromDb)})
|
||||
'Case Cathegories.TOOL
|
||||
' m_sName = "Tool"
|
||||
' m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.TOOLDIAM, nPartId, nIndex, bForceFromDb)})
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.WIPEFEED_PC, nPartId, nIndex, bForceFromDb)})
|
||||
'New CurrNumericMachiningParam(MachiningParam.Params.WIPEDIR, nPartId, nIndex, bForceFromDb)})
|
||||
Case Cathegories.RIBS
|
||||
m_sName = "Ribs"
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.RIBSOVERLAP, nPartId, nIndex, bForceFromDb),
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New CurrComboMachiningParam(MachiningParam.Params.RIBSTYPE, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.RIBSOVERLAP, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.RIBSSTRANDCOUNT, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLINK, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.RIBSINVERTORDER, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.RIBSINVERTDIRECTION, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADININVERT, nPartId, nIndex, bForceFromDb),
|
||||
New CurrCheckMachiningParam(MachiningParam.Params.RIBSLINK, nPartId, nIndex, bForceFromDb),
|
||||
New CurrCheckMachiningParam(MachiningParam.Params.RIBSINVERTORDER, nPartId, nIndex, bForceFromDb),
|
||||
New CurrCheckMachiningParam(MachiningParam.Params.RIBSINVERTDIRECTION, nPartId, nIndex, bForceFromDb),
|
||||
New CurrCheckMachiningParam(MachiningParam.Params.RIBSLEADININVERT, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADINLEN, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTINVERT, nPartId, nIndex, bForceFromDb),
|
||||
New CurrCheckMachiningParam(MachiningParam.Params.RIBSLEADOUTINVERT, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTLEN, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTCOASTING, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPE, nPartId, nIndex, bForceFromDb),
|
||||
@@ -290,13 +278,13 @@ Public Class CurrNumericMachiningParam
|
||||
|
||||
Public Overrides Property sValue As String
|
||||
Get
|
||||
Return If(m_bIsLen, LenToString(m_dValue, 1), m_dValue)
|
||||
Return If(m_bIsLen, LenToString(m_dValue, 1), DoubleToString(m_dValue, 2))
|
||||
End Get
|
||||
Set(value As String)
|
||||
If m_bIsLen Then
|
||||
StringToLen(value, m_dValue)
|
||||
Else
|
||||
m_dValue = value
|
||||
StringToDouble(value, m_dValue)
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(sValue))
|
||||
NotifyPropertyChanged(NameOf(bIsModifiedFromDb))
|
||||
@@ -331,10 +319,13 @@ Public Class CurrNumericMachiningParam
|
||||
m_bIsLen = True
|
||||
Case Params.STRANDCOUNT
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_STRANDCOUNT, m_dValue)
|
||||
m_bIsLen = True
|
||||
m_bIsLen = False
|
||||
Case Params.OFFSET
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_OFFSET, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.STRANDOVERLAP
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_STRANDOVERLAP, m_dValue)
|
||||
m_bIsLen = False
|
||||
Case Params.STARTPOINTOFFSETONSLICE
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_STARTPOINTOFFSETONSLICE, m_dValue)
|
||||
m_bIsLen = True
|
||||
@@ -362,48 +353,39 @@ Public Class CurrNumericMachiningParam
|
||||
Case Params.COASTINGLEN
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_COASTINGLEN, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.COASTINGFEED
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_COASTINGFEED, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.COASTINGFEED_PC
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_COASTINGFEEDPU, m_dValue)
|
||||
m_bIsLen = False
|
||||
Case Params.WIPELEN
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_WIPELEN, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.WIPEFEEDPU
|
||||
Case Params.WIPEFEED_PC
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_WIPEFEEDPU, m_dValue)
|
||||
m_bIsLen = True
|
||||
m_bIsLen = False
|
||||
'Case Params.WIPEDIR
|
||||
' bReadFromPart = EgtGetInfo(nPartId, MAC_WIPEDIR, m_dValue)
|
||||
' m_bIsLen = True
|
||||
Case Params.FLOORCOUNT
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_FLOORCOUNT, m_dValue)
|
||||
m_bIsLen = True
|
||||
m_bIsLen = False
|
||||
Case Params.G0FEED
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_G0FEED, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.G0FEEDZ
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_G0FEEDZ, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.TOOLDIAM
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_TOOLDIAM, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.RIBSOVERLAP
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSOVERLAP, m_dValue)
|
||||
m_bIsLen = True
|
||||
m_bIsLen = False
|
||||
Case Params.RIBSSTRANDCOUNT
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSSTRANDCOUNT, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.RIBSLINK
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLINK, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.RIBSINVERTORDER
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSINVERTORDER, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.RIBSINVERTDIRECTION
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSINVERTDIRECTION, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.RIBSLEADININVERT
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADININVERT, m_dValue)
|
||||
m_bIsLen = True
|
||||
m_bIsLen = False
|
||||
Case Params.RIBSLEADINLEN
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADINLEN, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.RIBSLEADOUTINVERT
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADOUTINVERT, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.RIBSLEADOUTLEN
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADOUTLEN, m_dValue)
|
||||
m_bIsLen = True
|
||||
@@ -415,10 +397,10 @@ Public Class CurrNumericMachiningParam
|
||||
m_bIsLen = True
|
||||
Case Params.RIBSLEADOUTWIPEDIR
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADOUTWIPEDIR, m_dValue)
|
||||
m_bIsLen = True
|
||||
m_bIsLen = False
|
||||
Case Params.SHELLNBRDIFFERENCE
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_SHELLNBRDIFFERENCE, m_dValue)
|
||||
m_bIsLen = True
|
||||
m_bIsLen = False
|
||||
Case Params.SHELLNBRCOASTING
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_SHELLNBRCOASTING, m_dValue)
|
||||
m_bIsLen = True
|
||||
@@ -427,10 +409,10 @@ Public Class CurrNumericMachiningParam
|
||||
m_bIsLen = True
|
||||
Case Params.SHELLNBRWIPEDIR
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_SHELLNBRWIPEDIR, m_dValue)
|
||||
m_bIsLen = True
|
||||
m_bIsLen = False
|
||||
Case Params.AUXSOLIDSOVERLAP
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSOVERLAP, m_dValue)
|
||||
m_bIsLen = True
|
||||
m_bIsLen = False
|
||||
Case Params.AUXSOLIDSLINKPARAM
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSLINKPARAM, m_dValue)
|
||||
m_bIsLen = True
|
||||
@@ -445,39 +427,42 @@ Public Class CurrNumericMachiningParam
|
||||
m_bIsLen = True
|
||||
Case Params.AUXSOLIDSWIPEDIR
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSWIPEDIR, m_dValue)
|
||||
m_bIsLen = True
|
||||
m_bIsLen = False
|
||||
Case Params.FLOWRATE_PC
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_CONSTANT, m_dValue)
|
||||
m_bIsLen = False
|
||||
End Select
|
||||
m_dOrigValue = m_dValue
|
||||
If nIndex > 0 Then
|
||||
Dim DbMachining As Machining = Map.refMachiningDbVM.MachiningList.FirstOrDefault(Function(x) x.nIndex = nIndex)
|
||||
Select Case Type
|
||||
Case Params.STRANDH, Params.STRANDW, Params.STRANDCOUNT, Params.OFFSET, Params.STARTPOINTOFFSETONSLICE, Params.FLOORCOUNT, Params.G0FEED, Params.TOOLDIAM
|
||||
Case Params.STRANDH, Params.STRANDW, Params.STRANDCOUNT, Params.OFFSET, Params.STRANDOVERLAP, Params.STARTPOINTOFFSETONSLICE,
|
||||
Params.FLOORCOUNT, Params.G0FEED, Params.G0FEEDZ, Params.TOOLDIAM, Params.FLOWRATE_PC
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
Case Params.LINKPARAM, Params.LINKZUP, Params.OFFSETLEADPOINT, Params.LEADINTANGDIST, Params.LEADINORTHODIST,
|
||||
Params.LEADOUTTANGDIST, Params.LEADOUTORTHODIST, Params.COASTINGLEN, Params.COASTINGFEED, Params.WIPELEN, Params.WIPEFEEDPU
|
||||
Params.LEADOUTTANGDIST, Params.LEADOUTORTHODIST, Params.COASTINGLEN, Params.COASTINGFEED_PC,
|
||||
Params.WIPELEN, Params.WIPEFEED_PC ' Params.WIPEDIR
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.LINK).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
'Case Params.OFFSETLEADPOINT, Params.LEADINTANGDIST, Params.LEADINORTHODIST
|
||||
' m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.LEADIN).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
'Case Params.LEADOUTTANGDIST, Params.LEADOUTORTHODIST
|
||||
' m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.LEADOUT).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
'Case Params.COASTINGLEN, Params.COASTINGFEED
|
||||
' m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.COASTING).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
'Case Params.WIPELEN, Params.WIPEFEEDPU
|
||||
' m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.WIPE).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
'Case Params.TOOLDIAM
|
||||
' m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.TOOL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
Case Params.RIBSOVERLAP, Params.RIBSSTRANDCOUNT, Params.RIBSLINK, Params.RIBSINVERTORDER, Params.RIBSINVERTDIRECTION, Params.RIBSLEADININVERT,
|
||||
Params.RIBSLEADINLEN, Params.RIBSLEADOUTINVERT, Params.RIBSLEADOUTLEN, Params.RIBSLEADOUTCOASTING, Params.RIBSLEADOUTWIPE, Params.RIBSLEADOUTWIPEDIR
|
||||
Case Params.RIBSOVERLAP, Params.RIBSSTRANDCOUNT, Params.RIBSLINK, Params.RIBSINVERTORDER, Params.RIBSINVERTDIRECTION,
|
||||
Params.RIBSLEADININVERT, Params.RIBSLEADINLEN, Params.RIBSLEADOUTINVERT, Params.RIBSLEADOUTLEN, Params.RIBSLEADOUTCOASTING,
|
||||
Params.RIBSLEADOUTWIPE, Params.RIBSLEADOUTWIPEDIR
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.RIBS).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
Case Params.SHELLNBRDIFFERENCE, Params.SHELLNBRCOASTING, Params.SHELLNBRWIPE, Params.SHELLNBRWIPEDIR
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.SHELL_NUMBER).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
Case Params.AUXSOLIDSOVERLAP, Params.AUXSOLIDSLINKPARAM, Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE, Params.AUXSOLIDSCOASTINGLEN, Params.AUXSOLIDSWIPELEN, Params.AUXSOLIDSWIPEDIR
|
||||
Case Params.AUXSOLIDSOVERLAP, Params.AUXSOLIDSLINKPARAM, Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE,
|
||||
Params.AUXSOLIDSCOASTINGLEN, Params.AUXSOLIDSWIPELEN, Params.AUXSOLIDSWIPEDIR
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.AUX_SOLID).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
End Select
|
||||
If bForceFromDb OrElse Not bReadFromPart Then
|
||||
m_dValue = m_DbParam.dOrigValue
|
||||
m_dOrigValue = m_DbParam.dOrigValue
|
||||
End If
|
||||
ElseIf Type = Params.G0FEEDZ AndAlso Not bReadFromPart Then
|
||||
m_dValue = 1000
|
||||
m_dOrigValue = 1000
|
||||
ElseIf Type = Params.FLOWRATE_PC AndAlso Not bReadFromPart Then
|
||||
m_dValue = 100
|
||||
m_dOrigValue = 100
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -497,6 +482,8 @@ Public Class CurrNumericMachiningParam
|
||||
EgtSetInfo(nPartId, MAC_STRANDCOUNT, sWriteValue)
|
||||
Case Params.OFFSET
|
||||
EgtSetInfo(nPartId, MAC_OFFSET, sWriteValue)
|
||||
Case Params.STRANDOVERLAP
|
||||
EgtSetInfo(nPartId, MAC_STRANDOVERLAP, sWriteValue)
|
||||
Case Params.STARTPOINTOFFSETONSLICE
|
||||
EgtSetInfo(nPartId, MAC_STARTPOINTOFFSETONSLICE, sWriteValue)
|
||||
Case Params.LINKPARAM
|
||||
@@ -515,34 +502,28 @@ Public Class CurrNumericMachiningParam
|
||||
EgtSetInfo(nPartId, MAC_LEADOUTORTHODIST, sWriteValue)
|
||||
Case Params.COASTINGLEN
|
||||
EgtSetInfo(nPartId, MAC_COASTINGLEN, sWriteValue)
|
||||
Case Params.COASTINGFEED
|
||||
EgtSetInfo(nPartId, MAC_COASTINGFEED, sWriteValue)
|
||||
Case Params.COASTINGFEED_PC
|
||||
EgtSetInfo(nPartId, MAC_COASTINGFEEDPU, sWriteValue)
|
||||
Case Params.WIPELEN
|
||||
EgtSetInfo(nPartId, MAC_WIPELEN, sWriteValue)
|
||||
Case Params.WIPEFEEDPU
|
||||
Case Params.WIPEFEED_PC
|
||||
EgtSetInfo(nPartId, MAC_WIPEFEEDPU, sWriteValue)
|
||||
'Case Params.WIPEDIR
|
||||
' EgtSetInfo(nPartId, MAC_WIPEDIR, sWriteValue)
|
||||
Case Params.FLOORCOUNT
|
||||
EgtSetInfo(nPartId, MAC_FLOORCOUNT, sWriteValue)
|
||||
Case Params.G0FEED
|
||||
EgtSetInfo(nPartId, MAC_G0FEED, sWriteValue)
|
||||
Case Params.G0FEEDZ
|
||||
EgtSetInfo(nPartId, MAC_G0FEEDZ, sWriteValue)
|
||||
Case Params.TOOLDIAM
|
||||
EgtSetInfo(nPartId, MAC_TOOLDIAM, sWriteValue)
|
||||
Case Params.RIBSOVERLAP
|
||||
EgtSetInfo(nPartId, MAC_RIBSOVERLAP, sWriteValue)
|
||||
Case Params.RIBSSTRANDCOUNT
|
||||
EgtSetInfo(nPartId, MAC_RIBSSTRANDCOUNT, sWriteValue)
|
||||
Case Params.RIBSLINK
|
||||
EgtSetInfo(nPartId, MAC_RIBSLINK, sWriteValue)
|
||||
Case Params.RIBSINVERTORDER
|
||||
EgtSetInfo(nPartId, MAC_RIBSINVERTORDER, sWriteValue)
|
||||
Case Params.RIBSINVERTDIRECTION
|
||||
EgtSetInfo(nPartId, MAC_RIBSINVERTDIRECTION, sWriteValue)
|
||||
Case Params.RIBSLEADININVERT
|
||||
EgtSetInfo(nPartId, MAC_RIBSLEADININVERT, sWriteValue)
|
||||
Case Params.RIBSLEADINLEN
|
||||
EgtSetInfo(nPartId, MAC_RIBSLEADINLEN, sWriteValue)
|
||||
Case Params.RIBSLEADOUTINVERT
|
||||
EgtSetInfo(nPartId, MAC_RIBSLEADOUTINVERT, sWriteValue)
|
||||
Case Params.RIBSLEADOUTLEN
|
||||
EgtSetInfo(nPartId, MAC_RIBSLEADOUTLEN, sWriteValue)
|
||||
Case Params.RIBSLEADOUTCOASTING
|
||||
@@ -571,6 +552,8 @@ Public Class CurrNumericMachiningParam
|
||||
EgtSetInfo(nPartId, MAC_AUXSOLIDSWIPELEN, sWriteValue)
|
||||
Case Params.AUXSOLIDSWIPEDIR
|
||||
EgtSetInfo(nPartId, MAC_AUXSOLIDSWIPEDIR, sWriteValue)
|
||||
Case Params.FLOWRATE_PC
|
||||
EgtSetInfo(nPartId, MAC_CONSTANT, sWriteValue)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -580,6 +563,7 @@ Public Class CurrNumericMachiningParam
|
||||
|
||||
Friend Overrides Sub ResetParam()
|
||||
m_dValue = m_dOrigValue
|
||||
NotifyPropertyChanged(NameOf(sValue))
|
||||
End Sub
|
||||
|
||||
#Region "COMMANDS"
|
||||
@@ -645,6 +629,7 @@ Public Class CurrStringMachiningParam
|
||||
|
||||
Friend Overrides Sub ResetParam()
|
||||
m_sValue = m_sOrigValue
|
||||
NotifyPropertyChanged(NameOf(sValue))
|
||||
End Sub
|
||||
|
||||
#Region "COMMANDS"
|
||||
@@ -704,6 +689,26 @@ Public Class CurrComboMachiningParam
|
||||
MyBase.New(Type, nIndex)
|
||||
Dim bReadFromPart As Boolean = False
|
||||
Select Case Type
|
||||
Case Params.SLICINGTYPE
|
||||
Dim nSlicingType As Integer = GetPrivateProfileInt(S_MACH_PRINTING3D, K_SLICINGTYPE, 0, CurrentMachine.sMachIniFile)
|
||||
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_SLICINGTYPE.VERTICAL, "Vertical")})
|
||||
If nSlicingType >= 1 Then
|
||||
m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.DEG45, "45deg X"))
|
||||
If nSlicingType >= 2 Then
|
||||
m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.DEG45_Y, "45deg Y"))
|
||||
If nSlicingType >= 3 Then
|
||||
m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.HORIZONTAL, "Horizontal"))
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Dim nSelValue As Integer = 0
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_SLICINGTYPE, nSelValue)
|
||||
If Not bReadFromPart Then
|
||||
Dim nSlicing45 As Integer = 0
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_SLICING45, nSlicing45)
|
||||
nSelValue = If(nSlicing45 = 0, Machining.MPAR_SLICINGTYPE.VERTICAL, Machining.MPAR_SLICINGTYPE.DEG45)
|
||||
End If
|
||||
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
|
||||
Case Params.STRANDORDER
|
||||
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_STRANDORDERS.OUTTOIN, "From Outside To Inside"),
|
||||
New IdNameStruct(Machining.MPAR_STRANDORDERS.INTOOUT, "From Inside To Outside")})
|
||||
@@ -737,6 +742,14 @@ Public Class CurrComboMachiningParam
|
||||
Dim nSelValue As Integer = 0
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_LEADOUT, nSelValue)
|
||||
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
|
||||
Case Params.RIBSTYPE
|
||||
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_RIBSTYPE.INTERNAL, "Internal"),
|
||||
New IdNameStruct(Machining.MPAR_RIBSTYPE.EXTERNAL, "External"),
|
||||
New IdNameStruct(Machining.MPAR_RIBSTYPE.UNBOUNDED, "Unbounded"),
|
||||
New IdNameStruct(Machining.MPAR_RIBSTYPE.SUPPORT, "Support")})
|
||||
Dim nSelValue As Integer = 0
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSTYPE, nSelValue)
|
||||
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
|
||||
Case Params.AUXSOLIDSINFILL
|
||||
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_INFILL.NONE, "None"),
|
||||
New IdNameStruct(Machining.MPAR_INFILL.OFFSET, "Offset"),
|
||||
@@ -757,19 +770,23 @@ Public Class CurrComboMachiningParam
|
||||
Dim nSelValue As Integer = 0
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSLINKTYPE, nSelValue)
|
||||
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
|
||||
Case Params.DYNAMIC_MODE
|
||||
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_DYNAMIC_MODE.STANDARD, "Standard"),
|
||||
New IdNameStruct(Machining.MPAR_DYNAMIC_MODE.FAST, "Fast")})
|
||||
Dim nSelValue As Integer = 0
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_DYNAMICMODE, nSelValue)
|
||||
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
|
||||
End Select
|
||||
m_OrigSelValue = m_SelValue
|
||||
If nIndex > 0 Then
|
||||
Dim DbMachining As Machining = Map.refMachiningDbVM.MachiningList.FirstOrDefault(Function(x) x.nIndex = nIndex)
|
||||
Select Case Type
|
||||
Case Params.STRANDORDER, Params.DIRECTION
|
||||
Case Params.SLICINGTYPE, Params.STRANDORDER, Params.DIRECTION, Params.DYNAMIC_MODE
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
Case Params.LINKTYPE, Params.LEADIN, Params.LEADOUT
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.LINK).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
'Case Params.LEADIN
|
||||
' m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.LEADIN).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
'Case Params.LEADOUT
|
||||
' m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.LEADOUT).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
Case Params.RIBSTYPE
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.RIBS).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
Case Params.AUXSOLIDSINFILL, Params.AUXSOLIDSSTRANDORDER, Params.AUXSOLIDSLINKTYPE
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.AUX_SOLID).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
End Select
|
||||
@@ -777,11 +794,19 @@ Public Class CurrComboMachiningParam
|
||||
m_SelValue = m_DbParam.OrigSelValue
|
||||
m_OrigSelValue = m_DbParam.OrigSelValue
|
||||
End If
|
||||
ElseIf Type = Params.RIBSTYPE AndAlso Not bReadFromPart Then
|
||||
m_OrigSelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = Machining.MPAR_RIBSTYPE.INTERNAL)
|
||||
m_SelValue = m_OrigSelValue
|
||||
ElseIf Type = Params.DYNAMIC_MODE AndAlso Not bReadFromPart Then
|
||||
m_OrigSelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = Machining.MPAR_DYNAMIC_MODE.STANDARD)
|
||||
m_SelValue = m_OrigSelValue
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub WriteParamInPart(nPartId As Integer)
|
||||
Select Case Type
|
||||
Case Params.SLICINGTYPE
|
||||
EgtSetInfo(nPartId, MAC_SLICINGTYPE, m_SelValue.Id)
|
||||
Case Params.STRANDORDER
|
||||
EgtSetInfo(nPartId, MAC_STRANDORDER, m_SelValue.Id)
|
||||
Case Params.DIRECTION
|
||||
@@ -792,12 +817,16 @@ Public Class CurrComboMachiningParam
|
||||
EgtSetInfo(nPartId, MAC_LEADIN, m_SelValue.Id)
|
||||
Case Params.LEADOUT
|
||||
EgtSetInfo(nPartId, MAC_LEADOUT, m_SelValue.Id)
|
||||
Case Params.RIBSTYPE
|
||||
EgtSetInfo(nPartId, MAC_RIBSTYPE, m_SelValue.Id)
|
||||
Case Params.AUXSOLIDSINFILL
|
||||
EgtSetInfo(nPartId, MAC_AUXSOLIDSINFILL, m_SelValue.Id)
|
||||
Case Params.AUXSOLIDSSTRANDORDER
|
||||
EgtSetInfo(nPartId, MAC_AUXSOLIDSSTRANDORDER, m_SelValue.Id)
|
||||
Case Params.AUXSOLIDSLINKTYPE
|
||||
EgtSetInfo(nPartId, MAC_AUXSOLIDSLINKTYPE, m_SelValue.Id)
|
||||
Case Params.DYNAMIC_MODE
|
||||
EgtSetInfo(nPartId, MAC_DYNAMICMODE, m_SelValue.Id)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -807,6 +836,7 @@ Public Class CurrComboMachiningParam
|
||||
|
||||
Friend Overrides Sub ResetParam()
|
||||
m_SelValue = m_OrigSelValue
|
||||
NotifyPropertyChanged(NameOf(SelValue))
|
||||
End Sub
|
||||
|
||||
#Region "COMMANDS"
|
||||
@@ -868,15 +898,27 @@ Public Class CurrCheckMachiningParam
|
||||
MyBase.New(Type, nIndex)
|
||||
Dim bReadFromPart As Boolean = False
|
||||
Select Case Type
|
||||
Case Params.SLICING45
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_SLICING45, m_bValue)
|
||||
Case Params.SPIRALVASE
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_SPIRALVASE, m_bValue)
|
||||
Case Params.RIBSLINK
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLINK, m_bValue)
|
||||
Case Params.RIBSINVERTORDER
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSINVERTORDER, m_bValue)
|
||||
Case Params.RIBSINVERTDIRECTION
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSINVERTDIRECTION, m_bValue)
|
||||
Case Params.RIBSLEADININVERT
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADININVERT, m_bValue)
|
||||
Case Params.RIBSLEADOUTINVERT
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADOUTINVERT, m_bValue)
|
||||
End Select
|
||||
m_bOrigValue = m_bValue
|
||||
If nIndex > 0 Then
|
||||
Dim DbMachining As Machining = Map.refMachiningDbVM.MachiningList.FirstOrDefault(Function(x) x.nIndex = nIndex)
|
||||
Select Case Type
|
||||
Case Params.SLICING45
|
||||
Case Params.SPIRALVASE
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
Case Params.RIBSLINK, Params.RIBSINVERTORDER, Params.RIBSINVERTDIRECTION, Params.RIBSLEADININVERT, Params.RIBSLEADOUTINVERT
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.RIBS).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
End Select
|
||||
If bForceFromDb OrElse Not bReadFromPart Then
|
||||
m_bValue = m_DbParam.bOrigValue
|
||||
@@ -887,8 +929,18 @@ Public Class CurrCheckMachiningParam
|
||||
|
||||
Friend Overrides Sub WriteParamInPart(nPartId As Integer)
|
||||
Select Case Type
|
||||
Case Params.SLICING45
|
||||
EgtSetInfo(nPartId, MAC_SLICING45, If(m_bValue, 1, 0))
|
||||
Case Params.SPIRALVASE
|
||||
EgtSetInfo(nPartId, MAC_SPIRALVASE, If(m_bValue, 1, 0))
|
||||
Case Params.RIBSLINK
|
||||
EgtSetInfo(nPartId, MAC_RIBSLINK, If(m_bValue, 1, 0))
|
||||
Case Params.RIBSINVERTORDER
|
||||
EgtSetInfo(nPartId, MAC_RIBSINVERTORDER, If(m_bValue, 1, 0))
|
||||
Case Params.RIBSINVERTDIRECTION
|
||||
EgtSetInfo(nPartId, MAC_RIBSINVERTDIRECTION, If(m_bValue, 1, 0))
|
||||
Case Params.RIBSLEADININVERT
|
||||
EgtSetInfo(nPartId, MAC_RIBSLEADININVERT, If(m_bValue, 1, 0))
|
||||
Case Params.RIBSLEADOUTINVERT
|
||||
EgtSetInfo(nPartId, MAC_RIBSLEADOUTINVERT, If(m_bValue, 1, 0))
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -898,6 +950,7 @@ Public Class CurrCheckMachiningParam
|
||||
|
||||
Friend Overrides Sub ResetParam()
|
||||
m_bValue = m_bOrigValue
|
||||
NotifyPropertyChanged(NameOf(bValue))
|
||||
End Sub
|
||||
|
||||
#Region "COMMANDS"
|
||||
@@ -925,3 +978,93 @@ Public Class CurrCheckMachiningParam
|
||||
|
||||
End Class
|
||||
|
||||
Public Class CurrOrderedMachiningParam
|
||||
Inherits OrderedMachiningParam
|
||||
|
||||
Private m_DbParam As OrderedMachiningParam
|
||||
Public ReadOnly Property DbParam As OrderedMachiningParam
|
||||
Get
|
||||
Return m_DbParam
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property bIsModifiedFromDb As Boolean
|
||||
Get
|
||||
Return If(Map.refTopPanelVM.SelMachining.sGUID <> Guid.Empty, Value <> m_DbParam.Value, False)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdResetParam As ICommand
|
||||
|
||||
Sub New(Type As Params, nPartId As Integer, nIndex As Integer, bForceFromDb As Boolean)
|
||||
MyBase.New(Type, nIndex)
|
||||
Dim bReadFromPart As Boolean = False
|
||||
Select Case Type
|
||||
Case Params.PRINT_ORDER
|
||||
m_ValueList = New ObservableCollection(Of IdNameStruct)
|
||||
Dim sValue As String = ""
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_PRINTORDER, sValue)
|
||||
Value = sValue
|
||||
End Select
|
||||
m_OrigValue = Value
|
||||
If nIndex > 0 Then
|
||||
Dim DbMachining As Machining = Map.refMachiningDbVM.MachiningList.FirstOrDefault(Function(x) x.nIndex = nIndex)
|
||||
Select Case Type
|
||||
Case Params.PRINT_ORDER
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
End Select
|
||||
If bForceFromDb OrElse Not bReadFromPart Then
|
||||
Value = m_DbParam.OrigValue
|
||||
m_OrigValue = m_DbParam.OrigValue
|
||||
End If
|
||||
ElseIf Type = Params.PRINT_ORDER AndAlso Not bReadFromPart Then
|
||||
Value = ""
|
||||
m_OrigValue = Value
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub WriteParamInPart(nPartId As Integer)
|
||||
Select Case Type
|
||||
Case Params.PRINT_ORDER
|
||||
EgtSetInfo(nPartId, MAC_PRINTORDER, Value)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub SaveParam()
|
||||
m_OrigValue = Value
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub ResetParam()
|
||||
Value = m_OrigValue
|
||||
m_SelValue = Nothing
|
||||
NotifyPropertyChanged(NameOf(ValueList))
|
||||
NotifyPropertyChanged(NameOf(SelValue))
|
||||
End Sub
|
||||
|
||||
#Region "COMMANDS"
|
||||
|
||||
#Region "ResetParam"
|
||||
|
||||
Public ReadOnly Property ResetParam_Command As ICommand
|
||||
Get
|
||||
If m_cmdResetParam Is Nothing Then
|
||||
m_cmdResetParam = New Command(AddressOf ResetParamCmd)
|
||||
End If
|
||||
Return m_cmdResetParam
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub ResetParamCmd()
|
||||
m_SelValue = Nothing
|
||||
Value = DbParam.OrigValue
|
||||
NotifyPropertyChanged(NameOf(Value))
|
||||
NotifyPropertyChanged(NameOf(SelValue))
|
||||
NotifyPropertyChanged(NameOf(bIsModifiedFromDb))
|
||||
End Sub
|
||||
|
||||
#End Region ' ResetParam
|
||||
|
||||
#End Region ' COMMANDS
|
||||
|
||||
End Class
|
||||
|
||||
@@ -27,8 +27,7 @@
|
||||
<ItemsControl ItemsSource="{Binding MachiningParamList}">
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<UniformGrid Columns="1"
|
||||
HorizontalAlignment="Stretch"/>
|
||||
<StackPanel Orientation="Vertical"/>
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.Resources>
|
||||
@@ -118,6 +117,44 @@
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type PrintApp:OrderedMachiningParam}">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Text="{Binding sName}"/>
|
||||
<StackPanel Grid.Column="1"
|
||||
Orientation="Horizontal"
|
||||
HorizontalAlignment="Right">
|
||||
<Button Content="<>"
|
||||
Command="{Binding ResetOrder_Command}"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>
|
||||
<Button Content="˄"
|
||||
Command="{Binding MoveUpOrder_Command}"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>
|
||||
<Button Content="˅"
|
||||
Command="{Binding MoveDownOrder_Command}"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>
|
||||
<Button Grid.Column="2"
|
||||
Content="R"
|
||||
Command="{Binding ResetParam_Command}"
|
||||
IsEnabled="{Binding bIsModifiedFromDb}"
|
||||
VerticalContentAlignment="Center"
|
||||
HorizontalContentAlignment="Center"
|
||||
Margin="5,0,0,0"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>
|
||||
</StackPanel>
|
||||
<ListBox Grid.ColumnSpan="2"
|
||||
Grid.Row="1"
|
||||
ItemsSource="{Binding ValueList}"
|
||||
SelectedItem="{Binding SelValue}"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</ItemsControl.Resources>
|
||||
</ItemsControl>
|
||||
</Expander>
|
||||
|
||||
@@ -79,6 +79,8 @@ Public Class CurrMachiningPanelVM
|
||||
End Property
|
||||
|
||||
Public Sub Cancel()
|
||||
' ripristino i parametri modificati
|
||||
m_CurrMachining.ResetModification()
|
||||
' ripristino modalita' standard
|
||||
Map.refTopPanelVM.SelPage = Pages.MODIFY
|
||||
End Sub
|
||||
|
||||
@@ -1,17 +1,103 @@
|
||||
<StackPanel x:Class="DispositionPanelV"
|
||||
<Grid x:Class="DispositionPanelV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
xmlns:PrintApp="clr-namespace:Icarus"
|
||||
VerticalAlignment="Stretch"
|
||||
Margin="5">
|
||||
<StackPanel.Resources>
|
||||
<Grid.Resources>
|
||||
<PrintApp:CenterToolTipConverter x:Key="CenterToolTipConverter"/>
|
||||
</StackPanel.Resources>
|
||||
<PrintApp:FromBooleanToVisibility x:Key="FromBooleanToVisibility"/>
|
||||
</Grid.Resources>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
|
||||
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
|
||||
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<ToggleButton x:Name="MoveBtn"
|
||||
Grid.Row="3"
|
||||
Content="Move"
|
||||
IsChecked="{Binding bMove_IsChecked}"
|
||||
Style="{StaticResource ToolBar_TextToggleButton}"/>
|
||||
<Popup IsOpen="{Binding IsChecked, ElementName=MoveBtn}"
|
||||
<!--<Border Background="Red"
|
||||
Grid.Column="1"
|
||||
Grid.Row="1"
|
||||
Grid.RowSpan="5"
|
||||
Width="50"
|
||||
VerticalAlignment="Stretch"/>-->
|
||||
|
||||
<Border x:Name="PopupBrd"
|
||||
Grid.Column="1"
|
||||
Grid.Row="1"
|
||||
Grid.RowSpan="5"
|
||||
VerticalAlignment="Center"
|
||||
Margin="5,0,0,0"
|
||||
Visibility="{Binding IsChecked, ElementName=MoveBtn, Converter={StaticResource FromBooleanToVisibility}}"
|
||||
Style="{StaticResource LeftPanelPopup_Border}">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Grid Margin="0,0,0,2.5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="X"
|
||||
VerticalAlignment="Center"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding sXPos, UpdateSourceTrigger=Explicit}"
|
||||
Grid.Column="1"
|
||||
Margin="5,0,0,0"
|
||||
Style="{StaticResource LeftPanel_TextBox}"/>
|
||||
</Grid>
|
||||
<Grid Grid.Row="1"
|
||||
Margin="0,2.5,0,2.5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="Y"
|
||||
VerticalAlignment="Center"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding sYPos, UpdateSourceTrigger=Explicit}"
|
||||
Grid.Column="1"
|
||||
Margin="5,0,0,0"
|
||||
Style="{StaticResource LeftPanel_TextBox}"/>
|
||||
</Grid>
|
||||
<Grid Grid.Row="2"
|
||||
Margin="0,2.5,0,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="Z"
|
||||
VerticalAlignment="Center"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding sZPos, UpdateSourceTrigger=Explicit}"
|
||||
Grid.Column="1"
|
||||
Margin="5,0,0,0"
|
||||
Style="{StaticResource LeftPanel_TextBox}"/>
|
||||
</Grid>
|
||||
<Grid Grid.Row="3"
|
||||
Margin="0,2.5,0,0">
|
||||
<Button Content="Drag"
|
||||
Command="{Binding DragMove_Command}"
|
||||
Style="{StaticResource LeftPanel_TextButton}"/>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Border>
|
||||
|
||||
<!--<Popup IsOpen="{Binding IsChecked, ElementName=MoveBtn}"
|
||||
PlacementTarget="{Binding ElementName=MoveBtn}"
|
||||
Style="{StaticResource LeftPanel_Popup}">
|
||||
<Border x:Name="PopupBrd" Style="{StaticResource LeftPanelPopup_Border}">
|
||||
@@ -68,12 +154,62 @@
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Border>
|
||||
</Popup>
|
||||
</Popup>-->
|
||||
|
||||
<ToggleButton x:Name="RotateBtn"
|
||||
Grid.Row="4"
|
||||
Content="Rotate"
|
||||
IsChecked="{Binding bRotate_IsChecked}"
|
||||
Style="{StaticResource ToolBar_TextToggleButton}"/>
|
||||
<Popup IsOpen="{Binding IsChecked, ElementName=RotateBtn}"
|
||||
<!--<Border Background="Blue"
|
||||
Grid.Column="2"
|
||||
Grid.Row="2"
|
||||
Grid.RowSpan="5"
|
||||
Width="50"
|
||||
VerticalAlignment="Stretch"
|
||||
HorizontalAlignment="Stretch"/>-->
|
||||
|
||||
<Border Grid.Column="1"
|
||||
Grid.Row="2"
|
||||
Grid.RowSpan="5"
|
||||
VerticalAlignment="Center"
|
||||
Margin="5,0,0,0"
|
||||
Visibility="{Binding IsChecked, ElementName=RotateBtn, Converter={StaticResource FromBooleanToVisibility}}"
|
||||
Style="{StaticResource LeftPanelPopup_Border}">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<UniformGrid Columns="3">
|
||||
<RadioButton Content="X"
|
||||
GroupName="Axes"
|
||||
IsChecked="{Binding RotX}"
|
||||
Style="{StaticResource ToolBar_ToggleButton}"/>
|
||||
<RadioButton Content="Y"
|
||||
GroupName="Axes"
|
||||
IsChecked="{Binding RotY}"
|
||||
Style="{StaticResource ToolBar_ToggleButton}"/>
|
||||
<RadioButton Content="Z"
|
||||
GroupName="Axes"
|
||||
IsChecked="{Binding RotZ}"
|
||||
Style="{StaticResource ToolBar_ToggleButton}"/>
|
||||
</UniformGrid>
|
||||
<EgtWPFLib5:EgtTextBox Grid.Row="1"
|
||||
Text="{Binding sRotAngle, UpdateSourceTrigger=Explicit}"
|
||||
Margin="0,5,0,0"/>
|
||||
<Grid Grid.Row="2"
|
||||
Margin="0,2.5,0,0">
|
||||
<Button Content="Drag"
|
||||
Command="{Binding DragRotate_Command}"
|
||||
Style="{StaticResource LeftPanel_TextButton}"/>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Border>
|
||||
|
||||
<!--<Popup IsOpen="{Binding IsChecked, ElementName=RotateBtn}"
|
||||
Grid.Column="1"
|
||||
PlacementTarget="{Binding ElementName=RotateBtn}"
|
||||
Style="{StaticResource LeftPanel_Popup}">
|
||||
@@ -110,5 +246,5 @@
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Border>
|
||||
</Popup>
|
||||
</StackPanel>
|
||||
</Popup>-->
|
||||
</Grid>
|
||||
|
||||
@@ -20,13 +20,40 @@ Public Class DispositionPanelVM
|
||||
EgtStartPoint(Map.refTopPanelVM.SelPart.nReferenceId, GDB_ID.ROOT, ptReference)
|
||||
Dim dNewXPos As Double = ptReference.x
|
||||
StringToLen(value, dNewXPos)
|
||||
If dNewXPos >= 0 AndAlso dNewXPos <= CurrentMachine.b3Tab.DimX Then
|
||||
EgtMove(Map.refTopPanelVM.SelPart.nPartId, New Point3d(dNewXPos, ptReference.y, ptReference.z) - ptReference)
|
||||
Dim b3Print As New BBox3d
|
||||
EgtGetBBoxGlob(Map.refTopPanelVM.SelPart.nPrintSolidId, GDB_BB.EXACT, b3Print)
|
||||
If EgtGetGroupObjs(Map.refTopPanelVM.SelPart.nRibsLayerId) > 0 Then
|
||||
Dim b3Ribs As New BBox3d()
|
||||
Dim nRibId As Integer = EgtGetFirstInGroup(Map.refTopPanelVM.SelPart.nRibsLayerId)
|
||||
While nRibId <> GDB_ID.NULL
|
||||
Dim nRibType As Integer = Machining.MPAR_RIBSTYPE.INTERNAL
|
||||
EgtGetInfo(nRibId, MAC_RIBSTYPE, nRibType)
|
||||
If nRibType = Machining.MPAR_RIBSTYPE.EXTERNAL OrElse nRibType = Machining.MPAR_RIBSTYPE.UNBOUNDED Then
|
||||
Dim b3Rib As New BBox3d
|
||||
EgtGetBBoxGlob(nRibId, GDB_BB.EXACT, b3Rib)
|
||||
b3Ribs.Add(b3Rib)
|
||||
End If
|
||||
nRibId = EgtGetNext(nRibId)
|
||||
End While
|
||||
If b3Ribs.Min.x <> INFINITO Then
|
||||
b3Print.Add(b3Ribs)
|
||||
End If
|
||||
End If
|
||||
Dim dMin As Double = 0
|
||||
Dim dMax As Double = CurrentMachine.b3Tab.DimX
|
||||
If b3Print.Max.x > ptReference.x Then
|
||||
dMax -= b3Print.Max.x - ptReference.x
|
||||
End If
|
||||
If b3Print.Min.x < ptReference.x Then
|
||||
dMin += ptReference.x - b3Print.Min.x
|
||||
End If
|
||||
If dNewXPos >= dMin AndAlso dNewXPos <= dMax Then
|
||||
EgtMove(Map.refTopPanelVM.SelPart.nPartId, New Point3d(dNewXPos, ptReference.y, ptReference.z) - ptReference, GDB_RT.GLOB)
|
||||
Map.refReferencePanelVM.UpdateFramePosition()
|
||||
EgtDraw()
|
||||
Else
|
||||
NotifyPropertyChanged(NameOf(sXPos))
|
||||
End If
|
||||
Map.refReferencePanelVM.UpdateFramePosition()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -45,13 +72,40 @@ Public Class DispositionPanelVM
|
||||
EgtStartPoint(Map.refTopPanelVM.SelPart.nReferenceId, GDB_ID.ROOT, ptReference)
|
||||
Dim dNewYPos As Double = ptReference.y
|
||||
StringToLen(value, dNewYPos)
|
||||
If dNewYPos >= 0 AndAlso dNewYPos <= CurrentMachine.b3Tab.DimY Then
|
||||
EgtMove(Map.refTopPanelVM.SelPart.nPartId, New Point3d(ptReference.x, dNewYPos, ptReference.z) - ptReference)
|
||||
Dim b3Print As New BBox3d
|
||||
EgtGetBBoxGlob(Map.refTopPanelVM.SelPart.nPrintSolidId, GDB_BB.EXACT, b3Print)
|
||||
If EgtGetGroupObjs(Map.refTopPanelVM.SelPart.nRibsLayerId) > 0 Then
|
||||
Dim b3Ribs As New BBox3d()
|
||||
Dim nRibId As Integer = EgtGetFirstInGroup(Map.refTopPanelVM.SelPart.nRibsLayerId)
|
||||
While nRibId <> GDB_ID.NULL
|
||||
Dim nRibType As Integer = Machining.MPAR_RIBSTYPE.INTERNAL
|
||||
EgtGetInfo(nRibId, MAC_RIBSTYPE, nRibType)
|
||||
If nRibType = Machining.MPAR_RIBSTYPE.EXTERNAL OrElse nRibType = Machining.MPAR_RIBSTYPE.UNBOUNDED Then
|
||||
Dim b3Rib As New BBox3d
|
||||
EgtGetBBoxGlob(nRibId, GDB_BB.EXACT, b3Rib)
|
||||
b3Ribs.Add(b3Rib)
|
||||
End If
|
||||
nRibId = EgtGetNext(nRibId)
|
||||
End While
|
||||
If b3Ribs.Min.x <> INFINITO Then
|
||||
b3Print.Add(b3Ribs)
|
||||
End If
|
||||
End If
|
||||
Dim dMin As Double = 0
|
||||
Dim dMax As Double = CurrentMachine.b3Tab.DimY
|
||||
If b3Print.Max.y > ptReference.y Then
|
||||
dMax -= b3Print.Max.y - ptReference.y
|
||||
End If
|
||||
If b3Print.Min.y < ptReference.y Then
|
||||
dMin += ptReference.y - b3Print.Min.y
|
||||
End If
|
||||
If dNewYPos >= dMin AndAlso dNewYPos <= dMax Then
|
||||
EgtMove(Map.refTopPanelVM.SelPart.nPartId, New Point3d(ptReference.x, dNewYPos, ptReference.z) - ptReference, GDB_RT.GLOB)
|
||||
Map.refReferencePanelVM.UpdateFramePosition()
|
||||
EgtDraw()
|
||||
Else
|
||||
NotifyPropertyChanged(NameOf(sYPos))
|
||||
End If
|
||||
Map.refReferencePanelVM.UpdateFramePosition()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -71,22 +125,38 @@ Public Class DispositionPanelVM
|
||||
Dim dNewZPos As Double = ptReference.z
|
||||
StringToLen(value, dNewZPos)
|
||||
If dNewZPos >= 0 Then
|
||||
EgtMove(Map.refTopPanelVM.SelPart.nPartId, New Point3d(ptReference.x, ptReference.y, dNewZPos) - ptReference)
|
||||
EgtMove(Map.refTopPanelVM.SelPart.nPartId, New Point3d(ptReference.x, ptReference.y, dNewZPos) - ptReference, GDB_RT.GLOB)
|
||||
Map.refReferencePanelVM.UpdateFramePosition()
|
||||
EgtDraw()
|
||||
Else
|
||||
NotifyPropertyChanged(NameOf(sZPos))
|
||||
End If
|
||||
Map.refReferencePanelVM.UpdateFramePosition()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_RotAxes() As Boolean = {False, False, True}
|
||||
Public Property RotAxes As Boolean()
|
||||
Private m_RotAxes As Boolean() = { False, False, False}
|
||||
Public Property RotX As Boolean
|
||||
Get
|
||||
Return m_RotAxes
|
||||
Return m_RotAxes(0)
|
||||
End Get
|
||||
Set(value As Boolean())
|
||||
m_RotAxes = value
|
||||
Set(value As Boolean)
|
||||
m_RotAxes(0) = value
|
||||
End Set
|
||||
End Property
|
||||
Public Property RotY As Boolean
|
||||
Get
|
||||
Return m_RotAxes(1)
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_RotAxes(1) = value
|
||||
End Set
|
||||
End Property
|
||||
Public Property RotZ As Boolean
|
||||
Get
|
||||
Return m_RotAxes(2)
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_RotAxes(2) = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -96,7 +166,7 @@ Public Class DispositionPanelVM
|
||||
Return Vector3d.X_AX
|
||||
ElseIf m_RotAxes(1) Then
|
||||
Return Vector3d.Y_AX
|
||||
ElseIf m_RotAxes(2) Then
|
||||
Else
|
||||
Return Vector3d.Z_AX
|
||||
End If
|
||||
End Get
|
||||
@@ -109,22 +179,33 @@ Public Class DispositionPanelVM
|
||||
End Get
|
||||
Set(value As String)
|
||||
Dim dNewAngle As Double = 0
|
||||
If Not StringToLen(value, dNewAngle) Then
|
||||
If IsNothing( value) OrElse Not StringToLen(value, dNewAngle) Then
|
||||
m_sRotAngle = 0
|
||||
NotifyPropertyChanged(NameOf(sRotAngle))
|
||||
Return
|
||||
End If
|
||||
Dim vtMovedPart As Vector3d
|
||||
if EgtGetInfo(Map.refTopPanelVM.SelPart.nPartId, "MovedPart", vtMovedPart) Then
|
||||
Dim nEntId = EgtGetFirstInGroup( Map.refTopPanelVM.SelPart.nPrintSolidLayerId)
|
||||
While nEntId <> GDB_ID.NULL
|
||||
EgtMove(nEntId, -vtMovedPart, GDB_RT.GLOB)
|
||||
nEntId = EgtGetNext( nEntId)
|
||||
End While
|
||||
EgtRemoveInfo(Map.refTopPanelVM.SelPart.nPartId, "MovedPart")
|
||||
End If
|
||||
Dim b3PrintSolid As New BBox3d
|
||||
EgtGetBBoxGlob(Map.refTopPanelVM.SelPart.nPartId, GDB_BB.STANDARD, b3PrintSolid)
|
||||
If EgtRotate(Map.refTopPanelVM.SelPart.nPartId, b3PrintSolid.Center, vtSelRotAxes, dNewAngle) Then
|
||||
EgtDraw()
|
||||
RefreshPos()
|
||||
If EgtRotate(Map.refTopPanelVM.SelPart.nPartId, b3PrintSolid.Center, vtSelRotAxes, dNewAngle, GDB_RT.GLOB) Then
|
||||
m_sRotAngle = 0
|
||||
Map.refReferencePanelVM.UpdateFramePosition()
|
||||
RefreshPos()
|
||||
EgtDraw()
|
||||
NotifyPropertyChanged(NameOf(sRotAngle))
|
||||
' Imposto flag di ricalcolo slice
|
||||
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True)
|
||||
Else
|
||||
m_sRotAngle = value
|
||||
End If
|
||||
Map.refReferencePanelVM.UpdateFramePosition()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -178,7 +259,8 @@ Public Class DispositionPanelVM
|
||||
End Sub
|
||||
|
||||
Friend Sub Init()
|
||||
|
||||
RotZ = True
|
||||
NotifyPropertyChanged(NameOf(RotZ))
|
||||
End Sub
|
||||
|
||||
Friend Sub RefreshPos()
|
||||
@@ -193,6 +275,7 @@ Public Class DispositionPanelVM
|
||||
' seleziono percorso corrente
|
||||
EgtDeselectAll()
|
||||
EgtSelectObj(Map.refTopPanelVM.SelPart.nPartId)
|
||||
EgtDraw()
|
||||
End Sub
|
||||
|
||||
Friend Sub UpdateUI()
|
||||
@@ -201,8 +284,9 @@ Public Class DispositionPanelVM
|
||||
m_bRotating = False
|
||||
' ripristino griglia
|
||||
EgtSetGridFrame(m_PrevGridOrigin)
|
||||
EgtDraw()
|
||||
End If
|
||||
EgtDeselectAll()
|
||||
EgtDraw()
|
||||
End Sub
|
||||
|
||||
Friend Sub OnKeyDown(Key As Forms.Keys)
|
||||
@@ -211,8 +295,9 @@ Public Class DispositionPanelVM
|
||||
m_bRotating = False
|
||||
' ripristino griglia
|
||||
EgtSetGridFrame(m_PrevGridOrigin)
|
||||
EgtDraw()
|
||||
End If
|
||||
EgtDeselectAll()
|
||||
EgtDraw()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -298,3 +383,19 @@ Public Class CenterToolTipConverter
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
Public Class FromBooleanToVisibility
|
||||
Implements IValueConverter
|
||||
|
||||
Public Function Convert(ByVal value As Object, ByVal targetType As Type, ByVal parameter As Object, ByVal culture As CultureInfo) As Object Implements IValueConverter.Convert
|
||||
If IsNothing(value) OrElse TypeOf value IsNot Boolean Then
|
||||
Return Visibility.Collapsed
|
||||
End If
|
||||
Return If(CBool(value), Visibility.Visible, Visibility.Collapsed)
|
||||
End Function
|
||||
|
||||
Public Function ConvertBack(ByVal value As Object, ByVal targetType As Type, ByVal parameter As Object, ByVal culture As CultureInfo) As Object Implements IValueConverter.ConvertBack
|
||||
Throw New NotSupportedException()
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
<EgtWPFLib5:EgtCustomWindow x:Class="HelpWndV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:CefSharpWpf="clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
xmlns:local="clr-namespace:Icarus"
|
||||
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
|
||||
Title="{Binding sTitle}" Icon="/Resources/Icarus.ico"
|
||||
MinHeight="600" MinWidth="800" WindowStyle="None" ResizeMode="NoResize">
|
||||
<EgtWPFLib5:EgtCustomWindow.Resources>
|
||||
<local:CustomMenuHandler x:Key="CustomMenuHandler"/>
|
||||
</EgtWPFLib5:EgtCustomWindow.Resources>
|
||||
<CefSharpWpf:ChromiumWebBrowser x:Name="Browser"
|
||||
MenuHandler="{StaticResource CustomMenuHandler}"/>
|
||||
<!--<CefSharpWpf:ChromiumWebBrowser x:Name="Browser"
|
||||
Address="c:\EgtData\Icarus\Help\lm_1170\\index.html"
|
||||
MenuHandler="{StaticResource CustomMenuHandler}"/>-->
|
||||
|
||||
</EgtWPFLib5:EgtCustomWindow>
|
||||
@@ -0,0 +1,26 @@
|
||||
Imports System.Diagnostics.Eventing
|
||||
Imports System.IO
|
||||
Imports System.Reflection
|
||||
|
||||
Public Class HelpWndV
|
||||
|
||||
Private WithEvents m_HelpWndVM As HelpWndVM
|
||||
|
||||
Sub New(Owner As Window, HelpWndVM As HelpWndVM)
|
||||
MyBase.New(Owner)
|
||||
' This call is required by the designer.
|
||||
InitializeComponent()
|
||||
Me.DataContext = HelpWndVM
|
||||
' Assegno al riferimento locale al VM il VM preso dal DataContext
|
||||
m_HelpWndVM = HelpWndVM
|
||||
'm_HelpWndVM.SetWebBrowser(WebBrowser)
|
||||
Browser.ResourceRequestHandlerFactory = New ResourceHandlerFactory
|
||||
|
||||
Browser.Address = "Icarus.pdf#toolbar=0"
|
||||
End Sub
|
||||
|
||||
'Private Sub CloseWindow(bDialogResult As Boolean) Handles m_HelpWndVM.m_CloseWindow
|
||||
' Me.DialogResult = bDialogResult
|
||||
'End Sub
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,20 @@
|
||||
Public Class HelpWndVM
|
||||
|
||||
'Private m_WebBrowser As WebBrowser
|
||||
'Public ReadOnly Property WebBrowser As WebBrowser
|
||||
' Get
|
||||
' Return m_WebBrowser
|
||||
' End Get
|
||||
'End Property
|
||||
'Friend Sub SetWebBrowser(value As WebBrowser)
|
||||
' m_WebBrowser = value
|
||||
'End Sub
|
||||
|
||||
Sub New()
|
||||
End Sub
|
||||
|
||||
Friend Sub LoadHtml()
|
||||
'm_WebBrowser.Source = New Uri("c:\EgtData\Icarus\Help\lm_1170\index.html")
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,145 @@
|
||||
Imports System.Collections.Specialized
|
||||
Imports System.IO
|
||||
Imports System.Runtime.InteropServices
|
||||
Imports System.Windows.Forms
|
||||
Imports CefSharp
|
||||
Imports CefSharp.Callback
|
||||
|
||||
Public Class ResourceHandler
|
||||
Implements IResourceHandler
|
||||
|
||||
Public Const DefaultMimeType As String = "text/html"
|
||||
Private tempBuffer As Byte()
|
||||
Public Property Charset As String
|
||||
Public Property MimeType As String
|
||||
Public Property Stream As Stream
|
||||
Public Property StatusCode As Integer
|
||||
Public Property StatusText As String
|
||||
Public Property m_ResponseLength As Long?
|
||||
Public Property Headers As NameValueCollection
|
||||
Public Property AutoDisposeStream As Boolean
|
||||
Public Property ErrorCode As CefErrorCode?
|
||||
Private disposedValue As Boolean
|
||||
|
||||
Public Sub New(ByVal Optional mimeType As String = DefaultMimeType, ByVal Optional stream As Stream = Nothing, ByVal Optional autoDisposeStream As Boolean = False, ByVal Optional charset As String = Nothing)
|
||||
If String.IsNullOrEmpty(mimeType) Then
|
||||
Throw New ArgumentNullException("mimeType", "Please provide a valid mimeType")
|
||||
End If
|
||||
|
||||
StatusCode = 200
|
||||
StatusText = "OK"
|
||||
mimeType = "application/pdf"
|
||||
Headers = New NameValueCollection()
|
||||
stream = stream
|
||||
autoDisposeStream = autoDisposeStream
|
||||
charset = charset
|
||||
Headers.Add("Access-Control-Allow-Origin", "*")
|
||||
End Sub
|
||||
Public Sub GetResponseHeaders(response As IResponse, ByRef responseLength As Long, ByRef redirectUrl As String) Implements IResourceHandler.GetResponseHeaders
|
||||
redirectUrl = Nothing
|
||||
responseLength = -1
|
||||
'response.MimeType = MimeType
|
||||
response.MimeType = "application/pdf"
|
||||
response.StatusCode = StatusCode
|
||||
response.StatusText = StatusText
|
||||
response.Headers = Headers
|
||||
|
||||
If Not String.IsNullOrEmpty(Charset) Then
|
||||
response.Charset = Charset
|
||||
End If
|
||||
|
||||
If Not IsNothing(m_ResponseLength) Then
|
||||
responseLength = m_ResponseLength
|
||||
End If
|
||||
|
||||
If Stream IsNot Nothing AndAlso Stream.CanSeek Then
|
||||
|
||||
If m_ResponseLength Is Nothing OrElse responseLength = 0 Then
|
||||
responseLength = Stream.Length
|
||||
End If
|
||||
|
||||
Stream.Position = 0
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Sub Cancel() Implements IResourceHandler.Cancel
|
||||
Return
|
||||
End Sub
|
||||
|
||||
Public Function Open(request As IRequest, ByRef handleRequest As Boolean, callback As ICallback) As Boolean Implements IResourceHandler.Open
|
||||
Dim assembly = Reflection.Assembly.GetExecutingAssembly()
|
||||
Dim resourceName = "Icarus.Icarus.pdf"
|
||||
|
||||
Stream = assembly.GetManifestResourceStream(resourceName)
|
||||
callback.Continue()
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Public Function ProcessRequest(request As IRequest, callback As ICallback) As Boolean Implements IResourceHandler.ProcessRequest
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Public Function Skip(bytesToSkip As Long, ByRef bytesSkipped As Long, callback As IResourceSkipCallback) As Boolean Implements IResourceHandler.Skip
|
||||
callback.Dispose()
|
||||
|
||||
If Stream Is Nothing OrElse Not Stream.CanSeek Then
|
||||
bytesSkipped = -2
|
||||
Return False
|
||||
End If
|
||||
|
||||
bytesSkipped = bytesToSkip
|
||||
Stream.Seek(bytesToSkip, SeekOrigin.Current)
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Public Function Read(dataOut As Stream, ByRef bytesRead As Integer, callback As IResourceReadCallback) As Boolean Implements IResourceHandler.Read
|
||||
bytesRead = 0
|
||||
callback.Dispose()
|
||||
|
||||
If Stream Is Nothing Then
|
||||
Return False
|
||||
End If
|
||||
|
||||
If tempBuffer Is Nothing OrElse tempBuffer.Length < dataOut.Length Then
|
||||
tempBuffer = New Byte(dataOut.Length - 1) {}
|
||||
End If
|
||||
|
||||
bytesRead = Stream.Read(tempBuffer, 0, CInt(dataOut.Length))
|
||||
|
||||
If bytesRead = 0 Then
|
||||
Return False
|
||||
End If
|
||||
|
||||
dataOut.Write(tempBuffer, 0, bytesRead)
|
||||
Return bytesRead > 0
|
||||
End Function
|
||||
|
||||
Public Function ReadResponse(dataOut As Stream, ByRef bytesRead As Integer, callback As ICallback) As Boolean Implements IResourceHandler.ReadResponse
|
||||
Throw New NotImplementedException()
|
||||
End Function
|
||||
|
||||
Protected Overridable Sub Dispose(disposing As Boolean)
|
||||
If Not disposedValue Then
|
||||
If disposing Then
|
||||
' TODO: dispose managed state (managed objects)
|
||||
End If
|
||||
|
||||
' TODO: free unmanaged resources (unmanaged objects) and override finalizer
|
||||
' TODO: set large fields to null
|
||||
disposedValue = True
|
||||
End If
|
||||
End Sub
|
||||
|
||||
' ' TODO: override finalizer only if 'Dispose(disposing As Boolean)' has code to free unmanaged resources
|
||||
' Protected Overrides Sub Finalize()
|
||||
' ' Do not change this code. Put cleanup code in 'Dispose(disposing As Boolean)' method
|
||||
' Dispose(disposing:=False)
|
||||
' MyBase.Finalize()
|
||||
' End Sub
|
||||
|
||||
Public Sub Dispose() Implements IDisposable.Dispose
|
||||
' Do not change this code. Put cleanup code in 'Dispose(disposing As Boolean)' method
|
||||
Dispose(disposing:=True)
|
||||
GC.SuppressFinalize(Me)
|
||||
End Sub
|
||||
End Class
|
||||
@@ -0,0 +1,16 @@
|
||||
Imports CefSharp
|
||||
|
||||
Public Class ResourceHandlerFactory
|
||||
Implements IResourceRequestHandlerFactory
|
||||
|
||||
Public ReadOnly Property HasHandlers As Boolean Implements IResourceRequestHandlerFactory.HasHandlers
|
||||
Get
|
||||
Return True
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Function GetResourceRequestHandler(chromiumWebBrowser As IWebBrowser, browser As IBrowser, frame As IFrame, request As IRequest, isNavigation As Boolean, isDownload As Boolean, requestInitiator As String, ByRef disableDefaultHandling As Boolean) As IResourceRequestHandler Implements IResourceRequestHandlerFactory.GetResourceRequestHandler
|
||||
Return New ResourceRequestHandler
|
||||
End Function
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,67 @@
|
||||
Imports System.IO
|
||||
Imports CefSharp
|
||||
Imports CefSharp.Callback
|
||||
|
||||
Public Class ResourceRequestHandler
|
||||
Implements IResourceRequestHandler
|
||||
|
||||
Private disposedValue As Boolean
|
||||
|
||||
Public Sub OnResourceRedirect(chromiumWebBrowser As IWebBrowser, browser As IBrowser, frame As IFrame, request As IRequest, response As IResponse, ByRef newUrl As String) Implements IResourceRequestHandler.OnResourceRedirect
|
||||
Throw New NotImplementedException()
|
||||
End Sub
|
||||
|
||||
Public Sub OnResourceLoadComplete(chromiumWebBrowser As IWebBrowser, browser As IBrowser, frame As IFrame, request As IRequest, response As IResponse, status As UrlRequestStatus, receivedContentLength As Long) Implements IResourceRequestHandler.OnResourceLoadComplete
|
||||
|
||||
End Sub
|
||||
|
||||
Public Function GetCookieAccessFilter(chromiumWebBrowser As IWebBrowser, browser As IBrowser, frame As IFrame, request As IRequest) As ICookieAccessFilter Implements IResourceRequestHandler.GetCookieAccessFilter
|
||||
Return Nothing
|
||||
End Function
|
||||
|
||||
Public Function OnBeforeResourceLoad(chromiumWebBrowser As IWebBrowser, browser As IBrowser, frame As IFrame, request As IRequest, callback As IRequestCallback) As CefReturnValue Implements IResourceRequestHandler.OnBeforeResourceLoad
|
||||
Return CefReturnValue.Continue
|
||||
End Function
|
||||
|
||||
Public Function GetResourceHandler(chromiumWebBrowser As IWebBrowser, browser As IBrowser, frame As IFrame, request As IRequest) As IResourceHandler Implements IResourceRequestHandler.GetResourceHandler
|
||||
Return New ResourceHandler
|
||||
End Function
|
||||
|
||||
Public Function OnResourceResponse(chromiumWebBrowser As IWebBrowser, browser As IBrowser, frame As IFrame, request As IRequest, response As IResponse) As Boolean Implements IResourceRequestHandler.OnResourceResponse
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Public Function GetResourceResponseFilter(chromiumWebBrowser As IWebBrowser, browser As IBrowser, frame As IFrame, request As IRequest, response As IResponse) As IResponseFilter Implements IResourceRequestHandler.GetResourceResponseFilter
|
||||
Return Nothing
|
||||
End Function
|
||||
|
||||
Public Function OnProtocolExecution(chromiumWebBrowser As IWebBrowser, browser As IBrowser, frame As IFrame, request As IRequest) As Boolean Implements IResourceRequestHandler.OnProtocolExecution
|
||||
Throw New NotImplementedException()
|
||||
End Function
|
||||
|
||||
Protected Overridable Sub Dispose(disposing As Boolean)
|
||||
'If Not disposedValue Then
|
||||
' If disposing Then
|
||||
' ' TODO: dispose managed state (managed objects)
|
||||
' End If
|
||||
|
||||
' ' TODO: free unmanaged resources (unmanaged objects) and override finalizer
|
||||
' ' TODO: set large fields to null
|
||||
' disposedValue = True
|
||||
'End If
|
||||
End Sub
|
||||
|
||||
' ' TODO: override finalizer only if 'Dispose(disposing As Boolean)' has code to free unmanaged resources
|
||||
' Protected Overrides Sub Finalize()
|
||||
' ' Do not change this code. Put cleanup code in 'Dispose(disposing As Boolean)' method
|
||||
' Dispose(disposing:=False)
|
||||
' MyBase.Finalize()
|
||||
' End Sub
|
||||
|
||||
Public Sub Dispose() Implements IDisposable.Dispose
|
||||
' Do not change this code. Put cleanup code in 'Dispose(disposing As Boolean)' method
|
||||
Dispose(disposing:=True)
|
||||
GC.SuppressFinalize(Me)
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
@@ -1,4 +1,7 @@
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\packages\CefSharp.Common.109.1.110\build\CefSharp.Common.props" Condition="Exists('..\packages\CefSharp.Common.109.1.110\build\CefSharp.Common.props')" />
|
||||
<Import Project="..\packages\cef.redist.x86.109.1.11\build\cef.redist.x86.props" Condition="Exists('..\packages\cef.redist.x86.109.1.11\build\cef.redist.x86.props')" />
|
||||
<Import Project="..\packages\cef.redist.x64.109.1.11\build\cef.redist.x64.props" Condition="Exists('..\packages\cef.redist.x64.109.1.11\build\cef.redist.x64.props')" />
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
@@ -12,6 +15,8 @@
|
||||
<MyType>Custom</MyType>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
<Deterministic>true</Deterministic>
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionExplicit>On</OptionExplicit>
|
||||
@@ -53,7 +58,38 @@
|
||||
<PropertyGroup>
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||
<DocumentationFile>Icarus.xml</DocumentationFile>
|
||||
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036,42314</NoWarn>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
<DocumentationFile>Icarus.xml</DocumentationFile>
|
||||
<Optimize>true</Optimize>
|
||||
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036,42314</NoWarn>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="CefSharp, Version=109.1.110.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\CefSharp.Common.109.1.110\lib\net452\CefSharp.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="CefSharp.Core, Version=109.1.110.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\CefSharp.Common.109.1.110\lib\net452\CefSharp.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="CefSharp.Wpf, Version=109.1.110.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\CefSharp.Wpf.109.1.110\lib\net462\CefSharp.Wpf.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="EgtUILib, Version=2.4.7.1, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\EgtProg\DllD32\EgtUILib.dll</HintPath>
|
||||
@@ -123,11 +159,17 @@
|
||||
<DependentUpon>DispositionPanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="DispositionPanel\DispositionPanelVM.vb" />
|
||||
<Compile Include="ImportPanel\ImportPanelV.xaml.vb">
|
||||
<DependentUpon>ImportPanelV.xaml</DependentUpon>
|
||||
<Compile Include="HelpWnd\HelpWndV.xaml.vb">
|
||||
<DependentUpon>HelpWndV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ImportPanel\ImportPanelVM.vb" />
|
||||
<Compile Include="ImportPanel\ImportUtility.vb" />
|
||||
<Compile Include="HelpWnd\HelpWndVM.vb" />
|
||||
<Compile Include="HelpWnd\ResourceHandler.vb" />
|
||||
<Compile Include="HelpWnd\ResourceRequestHandler.vb" />
|
||||
<Compile Include="HelpWnd\ResourceHandlerFactory.vb" />
|
||||
<Compile Include="ImportExportMachiningPanel\ImportExportMachiningPanelV.xaml.vb">
|
||||
<DependentUpon>ImportExportMachiningPanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ImportExportMachiningPanel\ImportExportMachiningPanelVM.vb" />
|
||||
<Compile Include="InstrumentPanel\InstrumentPanelV.xaml.vb">
|
||||
<DependentUpon>InstrumentPanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@@ -154,11 +196,24 @@
|
||||
<DependentUpon>MachSaveInDbWindowV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MachSaveInDbWnd\MachSaveInDbWndVM.vb" />
|
||||
<Compile Include="ManagePartPanel\ManagePartPanelV.xaml.vb">
|
||||
<DependentUpon>ManagePartPanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ManagePartPanel\ManagePartPanelVM.vb" />
|
||||
<Compile Include="ManagePartPanel\ManagePartUtility.vb" />
|
||||
<Compile Include="MaterialDb\Material.vb" />
|
||||
<Compile Include="MaterialDb\MaterialDbV.xaml.vb">
|
||||
<DependentUpon>MaterialDbV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MaterialDb\MaterialDbVM.vb" />
|
||||
<Compile Include="OptionsWindow\MachineBox.xaml.vb">
|
||||
<DependentUpon>MachineBox.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="OptionsWindow\OptionModule.vb" />
|
||||
<Compile Include="OptionsWindow\OptionWindowV.xaml.vb">
|
||||
<DependentUpon>OptionWindowV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="OptionsWindow\OptionWindowVM.vb" />
|
||||
<Compile Include="Project\ProjectV.xaml.vb">
|
||||
<DependentUpon>ProjectV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@@ -175,6 +230,10 @@
|
||||
<DependentUpon>RibPanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="RibPanel\RibPanelVM.vb" />
|
||||
<Compile Include="RibParamPanel\CopyFromWndV.xaml.vb">
|
||||
<DependentUpon>CopyFromWndV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="RibParamPanel\CopyFromWndVM.vb" />
|
||||
<Compile Include="RibParamPanel\RibParamPanelV.xaml.vb">
|
||||
<DependentUpon>RibParamPanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@@ -227,6 +286,9 @@
|
||||
</Compile>
|
||||
<Compile Include="Special-3dPrinting\Printing3DPanelVM.vb" />
|
||||
<Compile Include="Special-3dPrinting\Printing3DUtility.vb" />
|
||||
<Compile Include="SplashScreen\SplashScreen.xaml.vb">
|
||||
<DependentUpon>SplashScreen.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="StartMachPanel\StartMachPanelV.xaml.vb">
|
||||
<DependentUpon>StartMachPanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@@ -244,11 +306,13 @@
|
||||
<DependentUpon>TFSEditorV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Utility\CurrentMachine.vb" />
|
||||
<Compile Include="Utility\CustomMenuHandler.vb" />
|
||||
<Compile Include="Utility\Dictionary.xaml.vb">
|
||||
<DependentUpon>Dictionary.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Utility\DisableModifiedMgr.vb" />
|
||||
<Compile Include="Utility\EgwCrypto.vb" />
|
||||
<Compile Include="Utility\GeomEntityColors.vb" />
|
||||
<Compile Include="Utility\LuaExec.vb" />
|
||||
<Compile Include="Utility\Map.vb" />
|
||||
<Compile Include="Utility\MyMachine.vb" />
|
||||
@@ -287,10 +351,14 @@
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="ImportPanel\ImportPanelV.xaml">
|
||||
<Page Include="HelpWnd\HelpWndV.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="ImportExportMachiningPanel\ImportExportMachiningPanelV.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="InstrumentPanel\InstrumentPanelV.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
@@ -331,10 +399,22 @@
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="ManagePartPanel\ManagePartPanelV.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="MaterialDb\MaterialDbV.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="OptionsWindow\MachineBox.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="OptionsWindow\OptionWindowV.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="Project\ProjectV.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
@@ -351,6 +431,10 @@
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="RibParamPanel\CopyFromWndV.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="RibParamPanel\RibParamPanelV.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
@@ -403,6 +487,10 @@
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="SplashScreen\SplashScreen.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="StartMachPanel\StartMachPanelV.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
@@ -474,17 +562,98 @@
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="Icarus.pdf" />
|
||||
<EmbeddedResource Include="My Project\Resources.resx">
|
||||
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
|
||||
<CustomToolNamespace>My.Resources</CustomToolNamespace>
|
||||
</EmbeddedResource>
|
||||
<Resource Include="Resources\Manual\Icarus.pdf" />
|
||||
<None Include="app.manifest" />
|
||||
<None Include="My Project\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
|
||||
</None>
|
||||
<None Include="packages.config" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\delos.css.map" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\bootstrap-variables.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\color.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\deprecated.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\focus-mixin.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\font.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Modules\Bibliographic\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Modules\Blog\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Modules\BookingManager\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Modules\Chatroom\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Modules\Course\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Modules\DataCollection\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Modules\Excercise\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Modules\Forum\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Modules\LearningModule\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Modules\LearningSequence\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Modules\LTIConsumer\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Modules\MediaPool\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Modules\Poll\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Modules\Portfolio\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Modules\ScormAicc\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Modules\Survey\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Modules\Test\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Modules\Wiki\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Modules\WorkspaceFolder\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\multi-line-cap.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\reset.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\screenreader-only-mixins.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\Accordion\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\Awareness\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\Badge\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\Block\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\Bookmarks\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\Calendar\bootstrap-datetimepicker.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\Calendar\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\Captcha\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\Certificate\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\Chart\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\Container\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\COPage\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\FileUpload\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\Form\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\Help\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\InfoScreen\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\Init\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\LearningHistory\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\Like\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\Mail\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\MainMenu\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\MediaObjects\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\Membership\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\Navigation\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\News\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\Notes\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\Object\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\OnScreenChat\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\Preview\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\Rating\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\Search\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\Skill\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\Style\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\Table\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\Tags\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\TermsOfService\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\UIComponent\AdvancedSelectionList\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\UIComponent\Button\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\UIComponent\Checklist\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\UIComponent\Explorer2\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\UIComponent\GroupedList\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\UIComponent\Lightbox\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\UIComponent\Modal\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\UIComponent\ProgressBar\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\UIComponent\Tabs\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\UIComponent\Toolbar\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\UIComponent\Tooltip\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\User\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\Services\WebDAV\delos.less" />
|
||||
<None Include="Resources\Manual\Demo\templates\default\less\variables.less" />
|
||||
<Resource Include="Resources\Fonts\Roboto-Regular.ttf" />
|
||||
<Resource Include="Resources\Fonts\Roboto-Light.ttf" />
|
||||
</ItemGroup>
|
||||
@@ -607,9 +776,54 @@
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\TopPanel\Edit.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\MachiningDb\Export.png" />
|
||||
<Resource Include="Resources\MachiningDb\Import.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\SplashScreen\GoldSplashscreen.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\SplashScreen\LogoEgalware.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\ProjectManager\Export.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Resources\Manual\Demo\index.html" />
|
||||
<EmbeddedResource Include="Resources\Manual\Demo\templates\default\buttons.js" />
|
||||
<EmbeddedResource Include="Resources\Manual\Demo\templates\default\default.css" />
|
||||
<EmbeddedResource Include="Resources\Manual\Demo\templates\default\delos.css" />
|
||||
<EmbeddedResource Include="Resources\Manual\Demo\templates\default\delos_cont.css" />
|
||||
<EmbeddedResource Include="Resources\Manual\Demo\templates\default\template.xml" />
|
||||
<EmbeddedResource Include="Resources\Manual\Demo\templates\default\tpl.adm_content.html" />
|
||||
<EmbeddedResource Include="Resources\Manual\Demo\templates\default\tpl.buttons.html" />
|
||||
<EmbeddedResource Include="Resources\Manual\Demo\templates\default\tpl.error.html" />
|
||||
<EmbeddedResource Include="Resources\Manual\Demo\templates\default\tpl.explorer.html" />
|
||||
<EmbeddedResource Include="Resources\Manual\Demo\templates\default\tpl.frameset.html" />
|
||||
<EmbeddedResource Include="Resources\Manual\Demo\templates\default\tpl.main.html" />
|
||||
<EmbeddedResource Include="Resources\Manual\Demo\templates\default\tpl.obj_tbl_rows.html" />
|
||||
<EmbeddedResource Include="Resources\Manual\Demo\templates\default\tpl.page_content.html" />
|
||||
<EmbeddedResource Include="Resources\Manual\Demo\templates\default\tpl.page_content_bak.html" />
|
||||
<EmbeddedResource Include="Resources\Manual\Demo\templates\default\tpl.statusline.html" />
|
||||
<EmbeddedResource Include="Resources\Manual\Demo\templates\default\tpl.table.html" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>IF "$(PlatformName)"=="x64" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\Icarus\IcarusR64.exe
|
||||
<PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\Icarus\IcarusR32.exe
|
||||
IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Debug" copy $(TargetPath) c:\EgtProg\Icarus\IcarusD32.exe
|
||||
IF "$(PlatformName)"=="x64" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\Icarus\IcarusR64.exe
|
||||
IF "$(PlatformName)"=="x64" IF "$(ConfigurationName)" == "Debug" copy $(TargetPath) c:\EgtProg\Icarus\IcarusD64.exe</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\cef.redist.x64.109.1.11\build\cef.redist.x64.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cef.redist.x64.109.1.11\build\cef.redist.x64.props'))" />
|
||||
<Error Condition="!Exists('..\packages\cef.redist.x86.109.1.11\build\cef.redist.x86.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cef.redist.x86.109.1.11\build\cef.redist.x86.props'))" />
|
||||
<Error Condition="!Exists('..\packages\CefSharp.Common.109.1.110\build\CefSharp.Common.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.109.1.110\build\CefSharp.Common.props'))" />
|
||||
<Error Condition="!Exists('..\packages\CefSharp.Common.109.1.110\build\CefSharp.Common.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.109.1.110\build\CefSharp.Common.targets'))" />
|
||||
</Target>
|
||||
<Import Project="..\packages\CefSharp.Common.109.1.110\build\CefSharp.Common.targets" Condition="Exists('..\packages\CefSharp.Common.109.1.110\build\CefSharp.Common.targets')" />
|
||||
</Project>
|
||||
@@ -0,0 +1,62 @@
|
||||
<EgtWPFLib5:EgtCustomWindow x:Class="ImportExportMachiningPanelV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
Title="{Binding OkMsg}"
|
||||
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
|
||||
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
|
||||
IsMinimizable="False" WindowStartupLocation="CenterOwner" ShowInTaskbar="False"
|
||||
Width="400" Height="500">
|
||||
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="7*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<ListBox ItemsSource="{Binding MachiningList}">
|
||||
<ListBox.ItemTemplate>
|
||||
<DataTemplate DataType="{x:Type EgtWPFLib5:ImpExpMachiningItem}">
|
||||
<Grid Height="20">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<CheckBox Name="ActiveTxBx"
|
||||
Grid.Column="0"
|
||||
IsChecked="{Binding Active}"
|
||||
Height="15"
|
||||
Width="15"
|
||||
Margin="0,0,5,0"
|
||||
VerticalContentAlignment="Center"
|
||||
Visibility="{Binding Path=DataContext.Active_Visibility,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtCustomWindow}}}"/>
|
||||
<TextBlock Grid.Column="1"
|
||||
Text="{Binding sName}"
|
||||
FontSize="15"
|
||||
Margin="0,0,5,0"
|
||||
VerticalAlignment="Center" />
|
||||
<Ellipse Grid.Column="2"
|
||||
Width="15"
|
||||
Height="15"
|
||||
Fill="DarkOrange"
|
||||
Visibility="{Binding Overwrite_Visibility}"/>
|
||||
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
|
||||
</ListBox.ItemTemplate>
|
||||
</ListBox>
|
||||
|
||||
<Button Command="{Binding OkCommand}"
|
||||
Content="{Binding OkMsg}"
|
||||
IsEnabled="{Binding IsEnabledOkBtn, Mode=OneWay}"
|
||||
Grid.Row="1"
|
||||
Height="30" Width="100"
|
||||
Margin="10" />
|
||||
|
||||
</Grid>
|
||||
|
||||
</EgtWPFLib5:EgtCustomWindow>
|
||||
@@ -0,0 +1,18 @@
|
||||
Public Class ImportExportMachiningPanelV
|
||||
|
||||
Private WithEvents m_ImportExportMachiningPanelVM As ImportExportMachiningPanelVM
|
||||
|
||||
Sub New(Owner As Window, ImportExportMachiningPanelVM As ImportExportMachiningPanelVM)
|
||||
MyBase.New(Owner)
|
||||
' This call is required by the designer.
|
||||
InitializeComponent()
|
||||
Me.DataContext = ImportExportMachiningPanelVM
|
||||
' Assegno al riferimento locale al VM il VM preso dal DataContext
|
||||
m_ImportExportMachiningPanelVM = ImportExportMachiningPanelVM
|
||||
End Sub
|
||||
|
||||
Private Sub CloseWindow(bDialogResult As Boolean) Handles m_ImportExportMachiningPanelVM.m_CloseWindow
|
||||
Me.DialogResult = bDialogResult
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,441 @@
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports System.IO
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
|
||||
Public Class ImportExportMachiningPanelVM
|
||||
Inherits VMBase
|
||||
|
||||
' Modalita' di apertura della finestra
|
||||
Public Enum WindowModeEnum As Integer
|
||||
IMPORT
|
||||
EXPORT
|
||||
End Enum
|
||||
|
||||
Private m_WindowMode As WindowModeEnum
|
||||
Public ReadOnly Property WindowMode As WindowModeEnum
|
||||
Get
|
||||
Return m_WindowMode
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' Lista delle lavorazioni
|
||||
Private m_MachiningList As New ObservableCollection(Of ImpExpMachiningItem)
|
||||
Public Property MachiningList As ObservableCollection(Of ImpExpMachiningItem)
|
||||
Get
|
||||
Return m_MachiningList
|
||||
End Get
|
||||
Set(value As ObservableCollection(Of ImpExpMachiningItem))
|
||||
m_MachiningList = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
' Percorso del file da cui importare le lavorazioni
|
||||
Private m_ImportFilePath As String
|
||||
Public ReadOnly Property ImportFilePath As String
|
||||
Get
|
||||
Return m_ImportFilePath
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' Lista delle lavorazioni presenti nel file da cui importare
|
||||
Private m_ImportFileMachiningNameList As String()
|
||||
Public ReadOnly Property ImportFileMachiningNameList As String()
|
||||
Get
|
||||
Return m_ImportFileMachiningNameList
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' Lista delle lavorazioni importate con successo
|
||||
Private m_vsImported As String()
|
||||
Public ReadOnly Property vsImported As String()
|
||||
Get
|
||||
Return m_vsImported
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property IsEnabledOkBtn As Boolean
|
||||
Get
|
||||
For Each Machining In MachiningList
|
||||
If Machining.Active Then Return True
|
||||
Next
|
||||
Return False
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Friend Event m_CloseWindow(bDialogResult As Boolean)
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdOk As ICommand
|
||||
|
||||
#Region "MESSAGES"
|
||||
|
||||
Public ReadOnly Property OkMsg As String
|
||||
Get
|
||||
If WindowMode = WindowModeEnum.IMPORT Then
|
||||
Return EgtMsg(31450)
|
||||
Else
|
||||
Return EgtMsg(31451)
|
||||
End If
|
||||
End Get
|
||||
End Property
|
||||
|
||||
#End Region ' Messages
|
||||
|
||||
#Region "CONSTRUCTOR"
|
||||
|
||||
' export
|
||||
Sub New()
|
||||
m_WindowMode = WindowModeEnum.EXPORT
|
||||
' carico lista lavorazioni
|
||||
MachiningList.Clear()
|
||||
' leggo ed aggiungo le altre
|
||||
Dim nIndex As Integer = 1
|
||||
Dim sGUID As String = ""
|
||||
Dim sName As String = ""
|
||||
Dim sMaterials As String = ""
|
||||
While ReadMachiningParamString(nIndex, MAC_GUID, "", sGUID) > 0
|
||||
Dim Guid As Guid = Guid.Empty
|
||||
Guid.TryParse(sGUID, Guid)
|
||||
ReadMachiningParamString(nIndex, MAC_NAME, "", sName)
|
||||
MachiningList.Add(New ImpExpMachiningItem(nIndex, Guid, sName, False))
|
||||
nIndex += 1
|
||||
End While
|
||||
ImpExpMachiningItem.m_delEnableOkBtn = AddressOf EnableOkBtn
|
||||
End Sub
|
||||
|
||||
' import
|
||||
Sub New(sImportFilePath As String)
|
||||
m_WindowMode = WindowModeEnum.IMPORT
|
||||
m_ImportFilePath = sImportFilePath
|
||||
' carico lista lavorazioni
|
||||
MachiningList.Clear()
|
||||
' leggo ed aggiungo le altre
|
||||
Dim nIndex As Integer = 1
|
||||
Dim sGUID As String = ""
|
||||
Dim sName As String = ""
|
||||
Dim sMaterials As String = ""
|
||||
While ReadMachiningParamString(nIndex, MAC_GUID, "", sGUID, sImportFilePath) > 0
|
||||
Dim Guid As Guid = Guid.Empty
|
||||
Guid.TryParse(sGUID, Guid)
|
||||
ReadMachiningParamString(nIndex, MAC_NAME, "", sName, sImportFilePath)
|
||||
MachiningList.Add(New ImpExpMachiningItem(nIndex, Guid, sName, AlreadyExist(sName)))
|
||||
nIndex += 1
|
||||
End While
|
||||
ImpExpMachiningItem.m_delEnableOkBtn = AddressOf EnableOkBtn
|
||||
End Sub
|
||||
|
||||
#End Region ' Constructor
|
||||
|
||||
#Region "METHODS"
|
||||
|
||||
Private Sub EnableOkBtn()
|
||||
NotifyPropertyChanged(NameOf(IsEnabledOkBtn))
|
||||
End Sub
|
||||
|
||||
Private Function AlreadyExist(MachiningName As String) As Boolean
|
||||
Return Map.refMachiningDbVM.MachiningList.Any(Function(x) x.sName = MachiningName)
|
||||
End Function
|
||||
|
||||
#End Region ' METHODS
|
||||
|
||||
#Region "COMMANDS"
|
||||
|
||||
#Region "OkCommand"
|
||||
|
||||
''' <summary>
|
||||
''' Returns a command that remove the current selected machining.
|
||||
''' </summary>
|
||||
Public ReadOnly Property OkCommand() As ICommand
|
||||
Get
|
||||
If m_cmdOk Is Nothing Then
|
||||
m_cmdOk = New Command(AddressOf ConfirmImpExpMachinings)
|
||||
End If
|
||||
Return m_cmdOk
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' Manage the MachiningDb closing. This method is invoked by the CloseMachiningDbCommand.
|
||||
''' </summary>
|
||||
Public Sub ConfirmImpExpMachinings(param As Object)
|
||||
Select Case WindowMode
|
||||
Case WindowModeEnum.IMPORT
|
||||
Dim OrigFilePath As String = CurrentMachine.sMachiningFilePath
|
||||
Dim NewMachining As Machining = Nothing
|
||||
For Each Machining In m_MachiningList
|
||||
Dim nIndex As Integer = Map.refMachiningDbVM.MachiningList.Max(Function(x) x.nIndex) + 1
|
||||
If Machining.Active Then
|
||||
CurrentMachine.SetMachiningFilePath(ImportFilePath)
|
||||
' leggo lavorazione da file di import
|
||||
NewMachining = New Machining(Machining.nIndex)
|
||||
' cambio guid, indice e verifico nome
|
||||
NewMachining.sGUID = Guid.NewGuid.ToString()
|
||||
NewMachining.SetIndex(nIndex)
|
||||
If Machining.AlreadyExist Then
|
||||
If Machining.ChangeName Then
|
||||
NewMachining.sName = Machining.sName
|
||||
End If
|
||||
End If
|
||||
Map.refMachiningDbVM.MachiningList.Add(NewMachining)
|
||||
' ripristino path corretta del Db
|
||||
CurrentMachine.SetMachiningFilePath(OrigFilePath)
|
||||
' salvo la lavorazione
|
||||
NewMachining.Save()
|
||||
End If
|
||||
Next
|
||||
' ripristino path corretta del Db
|
||||
CurrentMachine.SetMachiningFilePath(OrigFilePath)
|
||||
' seleziono ultima importata
|
||||
If Not IsNothing(NewMachining) Then
|
||||
Map.refMachiningDbVM.SelMachining = NewMachining
|
||||
Map.refMachiningDbVM.NotifyPropertyChanged(NameOf(Map.refMachiningDbVM.SelMachining))
|
||||
End If
|
||||
Case WindowModeEnum.EXPORT
|
||||
' recupero le lavorazioni checkate
|
||||
Dim FinalNameList As New List(Of String)
|
||||
For Each Machining In MachiningList
|
||||
If Machining.Active Then
|
||||
FinalNameList.Add(Machining.sName)
|
||||
End If
|
||||
Next
|
||||
If FinalNameList.Count() = 0 Then Return
|
||||
Dim FinalNameArray = FinalNameList.ToArray()
|
||||
' chiedo il nome con cui salvare il file .data
|
||||
Dim SaveFileDlg As New System.Windows.Forms.SaveFileDialog() With {
|
||||
.Title = EgtMsg(31451) & " " & EgtMsg(31452),
|
||||
.Filter = "File data (*.data)|*.data|Tutti i file (*.*)|*.*",
|
||||
.FileName = String.Empty
|
||||
}
|
||||
If SaveFileDlg.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then Return
|
||||
Dim sFilePath As String = String.Empty
|
||||
sFilePath = SaveFileDlg.FileName
|
||||
' se esiste già lo elimino
|
||||
If File.Exists(sFilePath) Then
|
||||
Try
|
||||
File.Delete(sFilePath)
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
End If
|
||||
' creo nuovo file
|
||||
If Not File.Exists(sFilePath) Then
|
||||
Try
|
||||
File.WriteAllLines(sFilePath, {"; Commento per evitare BOM con UTF-8"})
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
End If
|
||||
Dim ActiveMachiningList As List(Of Machining) = (From Machining In Map.refMachiningDbVM.MachiningList
|
||||
Select Machining
|
||||
Where m_MachiningList.Any(Function(x) x.sGUID.ToString() = Machining.sGUID AndAlso x.Active)).ToList()
|
||||
' salvo tutte le lavorazioni sul Db
|
||||
For Index = 0 To ActiveMachiningList.Count - 1
|
||||
ActiveMachiningList(Index).WriteParamsOnDb(Index + 1, sFilePath)
|
||||
Next
|
||||
End Select
|
||||
|
||||
' Chiusura finestra
|
||||
RaiseEvent m_CloseWindow(True)
|
||||
End Sub
|
||||
|
||||
#End Region ' OkCommand
|
||||
|
||||
#End Region ' Commands
|
||||
|
||||
End Class
|
||||
|
||||
Public Class ImpExpMachiningItem
|
||||
Inherits VMBase
|
||||
|
||||
Public Const IMPEXTNAME As String = "_imp"
|
||||
|
||||
' Actions
|
||||
Friend Shared m_delEnableOkBtn As Action
|
||||
|
||||
Private Shared m_Empty As New MachiningIndex(-1, Guid.Empty, "None")
|
||||
|
||||
Private m_nIndex As Integer
|
||||
Public ReadOnly Property nIndex As Integer
|
||||
Get
|
||||
Return m_nIndex
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_sGUID As Guid
|
||||
Public ReadOnly Property sGUID As Guid
|
||||
Get
|
||||
Return m_sGUID
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_sOrigName As String
|
||||
Private m_sName As String
|
||||
Public ReadOnly Property sName As String
|
||||
Get
|
||||
Return m_sName
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_Active As Boolean
|
||||
Public Property Active As Boolean
|
||||
Get
|
||||
Return m_Active
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
' se esiste gia' chiedo se sovrascriverla
|
||||
If value Then
|
||||
If m_AlreadyExist Then
|
||||
Select Case System.Windows.MessageBox.Show(EgtMsg(31453), "", MessageBoxButton.YesNoCancel)
|
||||
Case MessageBoxResult.Yes
|
||||
m_ChangeName = False
|
||||
m_Active = True
|
||||
Case MessageBoxResult.No
|
||||
Dim bImpNameAlreadyInList = False
|
||||
Dim nImpNameIndex As Integer = 0
|
||||
If Map.refMachiningDbVM.MachiningList.Any(Function(x) x.sName = m_sOrigName & IMPEXTNAME) Then
|
||||
nImpNameIndex += 1
|
||||
While Map.refMachiningDbVM.MachiningList.Any(Function(x) x.sName = m_sOrigName & IMPEXTNAME & "_" & nImpNameIndex)
|
||||
nImpNameIndex += 1
|
||||
End While
|
||||
End If
|
||||
m_sName = m_sOrigName & IMPEXTNAME & If(nImpNameIndex > 0, "_" & nImpNameIndex, "")
|
||||
System.Windows.MessageBox.Show("Machining will be imported with the name: " & m_sName, "", MessageBoxButton.OK)
|
||||
NotifyPropertyChanged(NameOf(sName))
|
||||
m_ChangeName = True
|
||||
m_Active = True
|
||||
Case Else
|
||||
m_Active = False
|
||||
End Select
|
||||
NotifyPropertyChanged(NameOf(Active))
|
||||
Else
|
||||
m_Active = True
|
||||
End If
|
||||
Else
|
||||
m_ChangeName = False
|
||||
m_Active = False
|
||||
m_sName = m_sOrigName
|
||||
NotifyPropertyChanged(NameOf(sName))
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(Overwrite_Visibility))
|
||||
If Not IsNothing(m_delEnableOkBtn) Then m_delEnableOkBtn()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
' Parametro che indica se questo item da importare esiste gia'
|
||||
Private m_AlreadyExist As Boolean
|
||||
Friend ReadOnly Property AlreadyExist As Boolean
|
||||
Get
|
||||
Return m_AlreadyExist
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_Overwrite_Visibility As Visibility = Visibility.Collapsed
|
||||
Public ReadOnly Property Overwrite_Visibility As Visibility
|
||||
Get
|
||||
Return If(m_Active AndAlso m_AlreadyExist AndAlso Not m_ChangeName, Visibility.Visible, Visibility.Collapsed)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' Parametro che indica se cambiare il nome di un item che esiste gia' o sovrascriverlo
|
||||
Private m_ChangeName As Boolean
|
||||
Friend Property ChangeName As Boolean
|
||||
Get
|
||||
Return m_ChangeName
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_ChangeName = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Sub New(nIndex As Integer, GUID As Guid, sName As String, AlreadyExist As Boolean)
|
||||
m_nIndex = nIndex
|
||||
m_sGUID = GUID
|
||||
m_sOrigName = sName
|
||||
m_sName = sName
|
||||
m_AlreadyExist = AlreadyExist
|
||||
m_Active = False
|
||||
End Sub
|
||||
|
||||
Friend Shared Function Empty() As MachiningIndex
|
||||
Return m_Empty
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
Public Class MachiningItem
|
||||
Inherits VMBase
|
||||
|
||||
' Actions
|
||||
Friend Shared m_delEnableOkBtn As Action
|
||||
|
||||
Private m_Name As String
|
||||
Public Property Name As String
|
||||
Get
|
||||
If m_ChangeName Then
|
||||
Return m_Name & "_imp"
|
||||
Else
|
||||
Return m_Name
|
||||
End If
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_Name = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_Active As Boolean
|
||||
Public Property Active As Boolean
|
||||
Get
|
||||
Return m_Active
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
' se esiste gia' chiedo se sovrascriverla
|
||||
If value Then
|
||||
If m_AlreadyExist Then
|
||||
Select Case System.Windows.MessageBox.Show(EgtMsg(31453), "", MessageBoxButton.YesNoCancel)
|
||||
Case MessageBoxResult.Yes
|
||||
m_ChangeName = False
|
||||
m_Active = True
|
||||
Case MessageBoxResult.No
|
||||
System.Windows.MessageBox.Show(EgtMsg(31454), "", MessageBoxButton.OK)
|
||||
m_ChangeName = True
|
||||
m_Active = True
|
||||
Case Else
|
||||
m_Active = False
|
||||
End Select
|
||||
NotifyPropertyChanged("Active")
|
||||
Else
|
||||
m_Active = True
|
||||
End If
|
||||
Else
|
||||
m_ChangeName = False
|
||||
m_Active = False
|
||||
End If
|
||||
If Not IsNothing(m_delEnableOkBtn) Then m_delEnableOkBtn()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
' Parametro che indica se questo item da importare esiste gia'
|
||||
Private m_AlreadyExist As Boolean
|
||||
Friend ReadOnly Property AlreadyExist As Boolean
|
||||
Get
|
||||
Return m_AlreadyExist
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' Parametro che indica se cambiare il nome di un item che esiste gia' o sovrascriverlo
|
||||
Private m_ChangeName As Boolean
|
||||
Friend Property ChangeName As Boolean
|
||||
Get
|
||||
Return m_ChangeName
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_ChangeName = value
|
||||
NotifyPropertyChanged("Name")
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Sub New(Name As String, AlreadyExist As Boolean)
|
||||
m_Name = Name
|
||||
m_AlreadyExist = AlreadyExist
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
@@ -1,109 +0,0 @@
|
||||
<UserControl x:Class="ImportPanelV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:Icarus"
|
||||
Width="150"
|
||||
Margin="5,0,0,0">
|
||||
<Grid DockPanel.Dock="Left">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Border Style="{StaticResource LeftPanelTitle_Border}">
|
||||
<TextBlock Text="Lista nuovi pezzi"
|
||||
FontWeight="DemiBold"
|
||||
FontSize="14"/>
|
||||
</Border>
|
||||
<DockPanel Grid.Row="1">
|
||||
<Button DockPanel.Dock="Left"
|
||||
Content="+"
|
||||
FontSize="20"
|
||||
Command="{Binding AddPart_Command}"
|
||||
Style="{StaticResource LeftPanel_Button}"/>
|
||||
<Button DockPanel.Dock="Left"
|
||||
Content="-"
|
||||
FontSize="20"
|
||||
Command="{Binding RemovePart_Command}"
|
||||
Style="{StaticResource LeftPanel_Button}"/>
|
||||
<Button Content="Reference"
|
||||
Command="{Binding SetReference_Command}"
|
||||
Style="{StaticResource LeftPanel_TextButton}"/>
|
||||
</DockPanel>
|
||||
<TreeView Grid.Row="2"
|
||||
ItemsSource="{Binding ImportPartList}"
|
||||
MinHeight="300">
|
||||
<TreeView.Resources>
|
||||
<HierarchicalDataTemplate DataType="{x:Type local:ImportPart}"
|
||||
ItemsSource="{Binding LayerList}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Image Source="/Resources/TreeView/Folder.png"
|
||||
Height="15"/>
|
||||
<TextBlock Text="{Binding ghName}" />
|
||||
</StackPanel>
|
||||
</HierarchicalDataTemplate>
|
||||
<HierarchicalDataTemplate DataType="{x:Type local:ImportLayer}"
|
||||
ItemsSource="{Binding EntityList, UpdateSourceTrigger=PropertyChanged}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Image Source="/Resources/TreeView/Folder.png"
|
||||
Height="15"/>
|
||||
<TextBlock Text="{Binding sName}" />
|
||||
</StackPanel>
|
||||
</HierarchicalDataTemplate>
|
||||
<HierarchicalDataTemplate DataType="{x:Type local:GeomEntity}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<!--<Image Source="/WpfTutorialSamples;component/Images/user.png" Margin="0,0,5,0" />-->
|
||||
<TextBlock Text="{Binding ghName}" />
|
||||
<TextBlock Text="{Binding ghReference, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</StackPanel>
|
||||
</HierarchicalDataTemplate>
|
||||
</TreeView.Resources>
|
||||
<TreeView.ItemContainerStyle>
|
||||
<Style TargetType="{x:Type TreeViewItem}">
|
||||
<Setter Property="IsSelected" Value="{Binding bIsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Setter Property="IsExpanded" Value="True" />
|
||||
</Style>
|
||||
</TreeView.ItemContainerStyle>
|
||||
</TreeView>
|
||||
<Border Grid.Row="3"
|
||||
Style="{StaticResource LeftPanelTitle_Border}">
|
||||
<TextBlock Text="Lista entità importate"
|
||||
FontWeight="DemiBold"
|
||||
FontSize="14"/>
|
||||
</Border>
|
||||
<ListBox Grid.Row="4"
|
||||
ItemsSource="{Binding ImportedEntityList, UpdateSourceTrigger=PropertyChanged}"
|
||||
SelectedItem="{Binding SelImportedEntity}"
|
||||
MinHeight="200">
|
||||
<ListBox.ItemContainerStyle>
|
||||
<Style TargetType="ListBoxItem">
|
||||
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
|
||||
</Style>
|
||||
</ListBox.ItemContainerStyle>
|
||||
<ListBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<Grid HorizontalAlignment="Stretch">
|
||||
<Grid.InputBindings>
|
||||
<MouseBinding Gesture="LeftDoubleClick"
|
||||
Command="{Binding ImportedEntity_DoubleClick}"/>
|
||||
</Grid.InputBindings>
|
||||
<TextBlock Text="{Binding ghName}">
|
||||
</TextBlock>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</ListBox.ItemTemplate>
|
||||
</ListBox>
|
||||
<UniformGrid Grid.Row="5"
|
||||
Rows="1">
|
||||
<Button Content="Ok"
|
||||
Command="{Binding Ok_Command}"
|
||||
Style="{StaticResource LeftPanel_TextButton}"/>
|
||||
<Button Content="Cancel"
|
||||
Command="{Binding Cancel_Command}"
|
||||
Style="{StaticResource LeftPanel_TextButton}"/>
|
||||
</UniformGrid>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
@@ -1,3 +0,0 @@
|
||||
Public Class ImportPanelV
|
||||
|
||||
End Class
|
||||
@@ -1,427 +0,0 @@
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
|
||||
Public Class ImportPanelVM
|
||||
Inherits VMBase
|
||||
|
||||
Private m_nImportedPartId As Integer = GDB_ID.NULL
|
||||
Friend ReadOnly Property nImportedPartId As Integer
|
||||
Get
|
||||
Return m_nImportedPartId
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_ImportedEntityList As New ObservableCollection(Of GeomEntity)
|
||||
Public Property ImportedEntityList As ObservableCollection(Of GeomEntity)
|
||||
Get
|
||||
Return m_ImportedEntityList
|
||||
End Get
|
||||
Set(value As ObservableCollection(Of GeomEntity))
|
||||
m_ImportedEntityList = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_SelImportedEntity As GeomEntity
|
||||
Public Property SelImportedEntity As GeomEntity
|
||||
Get
|
||||
Return m_SelImportedEntity
|
||||
End Get
|
||||
Set(value As GeomEntity)
|
||||
m_SelImportedEntity = value
|
||||
EgtDeselectAll()
|
||||
If Not IsNothing(m_SelImportedEntity) Then
|
||||
EgtSelectObj(m_SelImportedEntity.nId)
|
||||
End If
|
||||
EgtDraw()
|
||||
End Set
|
||||
End Property
|
||||
Friend Sub SetSelImportedEntity(nId As Integer)
|
||||
m_SelImportedEntity = Map.refImportPanelVM.ImportedEntityList.FirstOrDefault(Function(x) x.nId = nId)
|
||||
EgtDeselectAll()
|
||||
If Not IsNothing(m_SelImportedEntity) Then
|
||||
EgtSelectObj(m_SelImportedEntity.nId)
|
||||
End If
|
||||
EgtDraw()
|
||||
NotifyPropertyChanged(NameOf(SelImportedEntity))
|
||||
End Sub
|
||||
|
||||
Private m_ImportPartList As New ObservableCollection(Of ImportPart)
|
||||
Public ReadOnly Property ImportPartList As ObservableCollection(Of ImportPart)
|
||||
Get
|
||||
Return m_ImportPartList
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_SelImportPart As ImportPart
|
||||
Friend Sub SetSelImportPart(SelImportPart As ImportPart)
|
||||
m_SelImportPart = SelImportPart
|
||||
m_SelImportLayer = Nothing
|
||||
End Sub
|
||||
Public ReadOnly Property SelImportPart As ImportPart
|
||||
Get
|
||||
Return m_SelImportPart
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_SelImportLayer As ImportLayer
|
||||
Public ReadOnly Property SelImportLayer As ImportLayer
|
||||
Get
|
||||
Return m_SelImportLayer
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetSelImportLayer(SelImportLayer As ImportLayer)
|
||||
m_SelImportPart = m_ImportPartList.FirstOrDefault(Function(x) x.LayerList.Contains(SelImportLayer))
|
||||
m_SelImportLayer = SelImportLayer
|
||||
End Sub
|
||||
|
||||
Private m_SelGeomEntity As GeomEntity
|
||||
Public ReadOnly Property SelGeomEntity As GeomEntity
|
||||
Get
|
||||
Return m_SelGeomEntity
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetSelGeomEntity(SelGeomEntity As GeomEntity)
|
||||
For Each CurrPart In m_ImportPartList
|
||||
Dim CurrLayer As ImportLayer = CurrPart.LayerList.FirstOrDefault(Function(x) x.EntityList.Contains(SelGeomEntity))
|
||||
If Not IsNothing(CurrLayer) Then
|
||||
m_SelImportPart = CurrPart
|
||||
m_SelImportLayer = CurrLayer
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
m_SelGeomEntity = SelGeomEntity
|
||||
End Sub
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdSetReference As ICommand
|
||||
Private m_cmdAddPart As ICommand
|
||||
Private m_cmdRemovePart As ICommand
|
||||
Private m_cmdOk As ICommand
|
||||
Private m_cmdCancel As ICommand
|
||||
|
||||
Sub New()
|
||||
' Creo riferimento a questa classe in EgtCAM5Map
|
||||
Map.SetRefImportPanelVM(Me)
|
||||
End Sub
|
||||
|
||||
#Region "METHODS"
|
||||
|
||||
Friend Sub Init()
|
||||
m_ImportedEntityList.Clear()
|
||||
m_ImportPartList.Clear()
|
||||
' aggiungo geometrie importate a lista
|
||||
m_nImportedPartId = EgtGetLastPart()
|
||||
Dim nLayerId As Integer = EgtGetFirstLayer(m_nImportedPartId)
|
||||
Dim nGeometryId As Integer = EgtGetFirstInGroup(nLayerId)
|
||||
While nGeometryId <> GDB_ID.NULL
|
||||
Dim sGeometryName As String = ""
|
||||
EgtGetName(nGeometryId, sGeometryName)
|
||||
m_ImportedEntityList.Add(New GeomEntity(nGeometryId, sGeometryName))
|
||||
nGeometryId = EgtGetNext(nGeometryId)
|
||||
End While
|
||||
' aggiungo primo pezzo
|
||||
m_ImportPartList.Add(New ImportPart())
|
||||
m_ImportPartList(0).LayerList.FirstOrDefault(Function(x) x.Type = ImportLayer.LayerType.PRINT_SOLID).bIsSelected = True
|
||||
End Sub
|
||||
|
||||
#End Region ' METHODS
|
||||
|
||||
#Region "COMMANDS"
|
||||
|
||||
#Region "SetReference"
|
||||
|
||||
Public ReadOnly Property SetReference_Command As ICommand
|
||||
Get
|
||||
If m_cmdSetReference Is Nothing Then
|
||||
m_cmdSetReference = New Command(AddressOf SetReference)
|
||||
End If
|
||||
Return m_cmdSetReference
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub SetReference()
|
||||
If Not IsNothing(SelGeomEntity) Then
|
||||
Dim ChooseReferenceWndVM As New ChooseReferenceWndVM
|
||||
Dim ChooseReferenceWndV As New ChooseReferenceWndV(Application.Current.MainWindow, ChooseReferenceWndVM)
|
||||
If Not ChooseReferenceWndV.ShowDialog() Then Return
|
||||
SelGeomEntity.Reference = ChooseReferenceWndVM.SelReference
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' SetReference
|
||||
|
||||
#Region "AddPart"
|
||||
|
||||
Public ReadOnly Property AddPart_Command As ICommand
|
||||
Get
|
||||
If m_cmdAddPart Is Nothing Then
|
||||
m_cmdAddPart = New Command(AddressOf AddPart)
|
||||
End If
|
||||
Return m_cmdAddPart
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub AddPart()
|
||||
m_ImportPartList.Add(New ImportPart)
|
||||
End Sub
|
||||
|
||||
#End Region ' AddPart
|
||||
|
||||
#Region "RemovePart"
|
||||
|
||||
Public ReadOnly Property RemovePart_Command As ICommand
|
||||
Get
|
||||
If m_cmdRemovePart Is Nothing Then
|
||||
m_cmdRemovePart = New Command(AddressOf RemovePart)
|
||||
End If
|
||||
Return m_cmdRemovePart
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub RemovePart()
|
||||
If IsNothing(SelImportLayer) Then
|
||||
' rimuovo pezzo
|
||||
m_ImportPartList.Remove(SelImportPart)
|
||||
Else
|
||||
' rimuovo geometria
|
||||
Dim CurrEntity As GeomEntity = m_SelGeomEntity
|
||||
SelImportLayer.EntityList.Remove(m_SelGeomEntity)
|
||||
' la rimetto in lista importati
|
||||
ImportedEntityList.Add(CurrEntity)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' RemovePart
|
||||
|
||||
#Region "Ok"
|
||||
|
||||
Public ReadOnly Property Ok_Command As ICommand
|
||||
Get
|
||||
If m_cmdOk Is Nothing Then
|
||||
m_cmdOk = New Command(AddressOf Ok)
|
||||
End If
|
||||
Return m_cmdOk
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub Ok()
|
||||
Dim sErr As New List(Of String)
|
||||
' verifico che tutti i pezzi abbiano una superficie da stampare nel layer apposito
|
||||
For Each CurrPart In m_ImportPartList
|
||||
For Each CurrLayer In CurrPart.LayerList
|
||||
Select Case CurrLayer.Type
|
||||
Case ImportLayer.LayerType.PRINT_SOLID
|
||||
If CurrLayer.EntityList.Count = 0 Then
|
||||
If sErr.Count > 0 Then sErr(sErr.Count - 1) &= Environment.NewLine
|
||||
sErr.Add(CurrPart.ghName & " - No print surface defined!")
|
||||
End If
|
||||
End Select
|
||||
Next
|
||||
Next
|
||||
If sErr.Count > 0 Then
|
||||
MessageBox.Show(String.Concat(sErr), "Error")
|
||||
Return
|
||||
Else
|
||||
' Creo pezzi e layer necessari
|
||||
For Each ImportPart In m_ImportPartList
|
||||
Dim frImportedPart As New Frame3d
|
||||
EgtGetGroupGlobFrame(m_nImportedPartId, frImportedPart)
|
||||
Dim nPartId As Integer = EgtCreateGroup(GDB_ID.ROOT, frImportedPart)
|
||||
EgtSetName(nPartId, PART)
|
||||
Dim nFrameId As Integer = GDB_ID.NULL
|
||||
Dim b3PrintSolid As New BBox3d
|
||||
Dim nPrintPartLayerId As Integer = GDB_ID.NULL
|
||||
Dim PrintSolidEntity As GeomEntity = Nothing
|
||||
Dim nOriginalPartLayerId As Integer = GDB_ID.NULL
|
||||
Dim nRibsLayerId As Integer = GDB_ID.NULL
|
||||
Dim nShellNumberLayerId As Integer = GDB_ID.NULL
|
||||
Dim nAuxSolidsLayerId As Integer = GDB_ID.NULL
|
||||
Dim nMachStartLayerId As Integer = GDB_ID.NULL
|
||||
For Each ImportLayer In ImportPart.LayerList
|
||||
Select Case ImportLayer.Type
|
||||
Case ImportLayer.LayerType.PRINT_SOLID
|
||||
nPrintPartLayerId = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nPrintPartLayerId, PRINT_SOLID)
|
||||
If ImportLayer.EntityList.Count > 0 Then
|
||||
PrintSolidEntity = ImportLayer.EntityList(0)
|
||||
EgtRelocateGlob(PrintSolidEntity.nId, nPrintPartLayerId, GDB_POS.LAST_SON)
|
||||
' calcolo box superficie per creazione riferimento
|
||||
EgtGetBBoxGlob(PrintSolidEntity.nId, GDB_BB.STANDARD, b3PrintSolid)
|
||||
End If
|
||||
'Case ImportLayer.LayerType.ORIGINAL_SOLID
|
||||
' nOriginalPartLayerId = EgtCreateGroup(nPartId)
|
||||
' EgtSetName(nOriginalPartLayerId, ORIGINAL_SOLID)
|
||||
' For Each GeomEntity In ImportLayer.EntityList
|
||||
' EgtRelocateGlob(GeomEntity.nId, nOriginalPartLayerId, GDB_POS.LAST_SON)
|
||||
' Next
|
||||
Case ImportLayer.LayerType.MACH_START
|
||||
nMachStartLayerId = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nMachStartLayerId, LAY_MACH_START)
|
||||
Dim nMachStartId As Integer = GDB_ID.NULL
|
||||
If ImportLayer.EntityList.Count > 0 Then
|
||||
For Each GeomEntity In ImportLayer.EntityList
|
||||
' se punto o curva compo
|
||||
Dim EntityType As GDB_TY = EgtGetType(GeomEntity.nId)
|
||||
Select Case EntityType
|
||||
Case GDB_TY.GEO_POINT, GDB_TY.CRV_COMPO
|
||||
' gli cambio layer
|
||||
EgtRelocateGlob(GeomEntity.nId, nMachStartLayerId, GDB_POS.LAST_SON)
|
||||
nMachStartId = GeomEntity.nId
|
||||
Case GDB_TY.CRV_ARC, GDB_TY.CRV_BEZ, GDB_TY.CRV_LINE
|
||||
' altrimenti la trasformo in curva compo
|
||||
nMachStartId = EgtCreateCurveCompo(nMachStartLayerId, GeomEntity.nId, True)
|
||||
End Select
|
||||
EgtSetName(nMachStartId, START_GEOM)
|
||||
' coloro l'entita' di rosso
|
||||
Dim c3Red As Color3d
|
||||
c3Red.FromColor(System.Drawing.Color.Red)
|
||||
EgtSetColor(nMachStartId, c3Red)
|
||||
Next
|
||||
Else
|
||||
' creo punto di partenza
|
||||
Dim ptStart As Point3d = b3PrintSolid.Center() - 0.6 * b3PrintSolid.DimY() * Vector3d.Y_AX() - 0.5 * b3PrintSolid.DimZ() * Vector3d.Z_AX()
|
||||
nMachStartId = EgtCreateGeoPoint(nMachStartLayerId, ptStart, GDB_RT.GLOB)
|
||||
EgtSetName(nMachStartId, START_GEOM)
|
||||
' coloro l'entita' di rosso
|
||||
Dim c3Red As Color3d
|
||||
c3Red.FromColor(System.Drawing.Color.Red)
|
||||
EgtSetColor(nMachStartId, c3Red)
|
||||
End If
|
||||
Case ImportLayer.LayerType.RIBS
|
||||
nRibsLayerId = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nRibsLayerId, LAY_RIBS)
|
||||
For Each GeomEntity In ImportLayer.EntityList
|
||||
EgtSetInfo(GeomEntity.nId, KEY_RIB_TYPE, RibEntity.RibTypes.FROMIMPORT)
|
||||
EgtRelocateGlob(GeomEntity.nId, nRibsLayerId, GDB_POS.LAST_SON)
|
||||
' coloro l'entita' di viola
|
||||
Dim c3LightBlue As Color3d
|
||||
c3LightBlue.FromColor(System.Drawing.Color.MediumOrchid)
|
||||
EgtSetColor(GeomEntity.nId, c3LightBlue)
|
||||
Next
|
||||
Case ImportLayer.LayerType.SHELL_NUMBER
|
||||
nShellNumberLayerId = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nShellNumberLayerId, LAY_SHELL_NBR)
|
||||
For Each GeomEntity In ImportLayer.EntityList
|
||||
EgtSetInfo(GeomEntity.nId, KEY_SHELLNBR_TYPE, ShellNumberEntity.ShellNumberTypes.FROMIMPORT)
|
||||
EgtRelocateGlob(GeomEntity.nId, nShellNumberLayerId, GDB_POS.LAST_SON)
|
||||
' coloro l'entita' di verde
|
||||
Dim c3LightBlue As Color3d
|
||||
c3LightBlue.FromColor(System.Drawing.Color.Lime)
|
||||
EgtSetColor(GeomEntity.nId, c3LightBlue)
|
||||
Next
|
||||
Case ImportLayer.LayerType.AUX_SOLIDS
|
||||
nAuxSolidsLayerId = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nAuxSolidsLayerId, LAY_AUX_SOLIDS)
|
||||
For Each GeomEntity In ImportLayer.EntityList
|
||||
EgtSetInfo(GeomEntity.nId, KEY_AUXSOLID_TYPE, RibEntity.RibTypes.FROMIMPORT)
|
||||
EgtRelocateGlob(GeomEntity.nId, nAuxSolidsLayerId, GDB_POS.LAST_SON)
|
||||
' coloro l'entita' di oro
|
||||
Dim c3LightBlue As Color3d
|
||||
c3LightBlue.FromColor(System.Drawing.Color.DarkGoldenrod)
|
||||
EgtSetColor(GeomEntity.nId, c3LightBlue)
|
||||
Next
|
||||
Case ImportLayer.LayerType.OTHERS
|
||||
Dim nOthersLayerId As Integer = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nOthersLayerId, LAY_OTHERS)
|
||||
For Each GeomEntity In ImportLayer.EntityList
|
||||
EgtRelocateGlob(GeomEntity.nId, nOthersLayerId, GDB_POS.LAST_SON)
|
||||
Next
|
||||
End Select
|
||||
Next
|
||||
' aggiungo riferimento
|
||||
Dim nReferenceLayerId As Integer = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nReferenceLayerId, LAY_REFERENCE)
|
||||
' Creo riferimento
|
||||
Dim ptOrig As New Point3d(b3PrintSolid.Min())
|
||||
Select Case PrintSolidEntity.Reference
|
||||
Case ChooseReferenceWndVM.References.TL
|
||||
ptOrig += b3PrintSolid.DimY() * Vector3d.Y_AX
|
||||
Case ChooseReferenceWndVM.References.TR
|
||||
ptOrig += b3PrintSolid.DimY() * Vector3d.Y_AX + b3PrintSolid.DimX() * Vector3d.X_AX
|
||||
Case ChooseReferenceWndVM.References.BL
|
||||
Case ChooseReferenceWndVM.References.BR
|
||||
ptOrig += b3PrintSolid.DimX() * Vector3d.X_AX
|
||||
Case ChooseReferenceWndVM.References.TC
|
||||
ptOrig += b3PrintSolid.DimY() * Vector3d.Y_AX + b3PrintSolid.DimX() / 2 * Vector3d.X_AX
|
||||
Case ChooseReferenceWndVM.References.ML
|
||||
ptOrig += b3PrintSolid.DimY() / 2 * Vector3d.Y_AX
|
||||
Case ChooseReferenceWndVM.References.MR
|
||||
ptOrig += b3PrintSolid.DimY() / 2 * Vector3d.Y_AX + b3PrintSolid.DimX() * Vector3d.X_AX
|
||||
Case ChooseReferenceWndVM.References.TC
|
||||
ptOrig += b3PrintSolid.DimY() * Vector3d.Y_AX + b3PrintSolid.DimX() / 2 * Vector3d.X_AX
|
||||
Case ChooseReferenceWndVM.References.MR
|
||||
ptOrig += b3PrintSolid.DimY() / 2 * Vector3d.Y_AX + b3PrintSolid.DimX() * Vector3d.X_AX
|
||||
Case ChooseReferenceWndVM.References.BC
|
||||
ptOrig += b3PrintSolid.DimX() / 2 * Vector3d.X_AX
|
||||
Case ChooseReferenceWndVM.References.MC
|
||||
ptOrig += b3PrintSolid.DimY() / 2 * Vector3d.Y_AX + b3PrintSolid.DimX() / 2 * Vector3d.X_AX
|
||||
End Select
|
||||
Dim frPrintSolid As New Frame3d(ptOrig)
|
||||
nFrameId = EgtCreateGeoFrame(nReferenceLayerId, frPrintSolid, GDB_RT.GLOB)
|
||||
If nFrameId Then
|
||||
EgtSetName(nFrameId, FRAME_PART)
|
||||
EgtSetMode(nFrameId, GDB_MD.LOCKED)
|
||||
End If
|
||||
EgtSetInfo(nReferenceLayerId, KEY_REFERENCE, PrintSolidEntity.Reference)
|
||||
' appoggio il pezzo sulla tavola
|
||||
EgtMove( nPartId, New Vector3d(0, 0, -b3PrintSolid.Min.z))
|
||||
' lo aggiungo a lista pezzi
|
||||
Dim sFilePath As String = ""
|
||||
EgtGetInfo(m_nImportedPartId, FILE_PATH, sFilePath)
|
||||
EgtSetInfo(nPartId, FILE_PATH, sFilePath)
|
||||
EgtSetInfo(nPartId, "PartOnTable", 1)
|
||||
Dim NewPart As New Print3dPartVM(nPartId, nPrintPartLayerId, PrintSolidEntity.nId, nOriginalPartLayerId, nReferenceLayerId, nFrameId, nMachStartLayerId, nRibsLayerId, nShellNumberLayerId, nAuxSolidsLayerId, sFilePath)
|
||||
Map.refTopPanelVM.PartList.Add(NewPart)
|
||||
Next
|
||||
End If
|
||||
'EgtAddMachGroup("3dPrint")
|
||||
'EgtSetTable("Tab")
|
||||
|
||||
'Dim nRawId As Integer = EgtAddRawPart(b3PrintSolid.Min, b3PrintSolid.DimX, b3PrintSolid.DimY, b3PrintSolid.DimZ, New Color3d(128, 128, 128, 30))
|
||||
'EgtAddPartToRawPart(nPartId, b3PrintSolid.Min, nRawId)
|
||||
'EgtMoveToCornerRawPart(nRawId, New Point3d(dPosX, dPosY, 0), MCH_CR.BL)
|
||||
|
||||
'EgtResetCurrMachGroup()
|
||||
|
||||
' seleziono ultimo pezzo aggiunto
|
||||
Map.refTopPanelVM.SelLastPart()
|
||||
' elimino vecchio pezzo d'importazione
|
||||
EgtErase(m_nImportedPartId)
|
||||
|
||||
EgtDraw()
|
||||
' ripristino modalita' standard
|
||||
Map.refTopPanelVM.SelPage = Pages.MODIFY
|
||||
End Sub
|
||||
|
||||
#End Region ' Ok
|
||||
|
||||
#Region "Cancel"
|
||||
|
||||
Public ReadOnly Property Cancel_Command As ICommand
|
||||
Get
|
||||
If m_cmdCancel Is Nothing Then
|
||||
m_cmdCancel = New Command(AddressOf Cancel)
|
||||
End If
|
||||
Return m_cmdCancel
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub Cancel()
|
||||
' elimino pezzo importato
|
||||
EgtErase(m_nImportedPartId)
|
||||
EgtDraw()
|
||||
' se ci sono pezzi
|
||||
If Map.refTopPanelVM.PartList.Count > 0 Then
|
||||
' ripristino modalita' standard
|
||||
Map.refTopPanelVM.SelPage = Pages.MODIFY
|
||||
Else
|
||||
Map.refTopPanelVM.SelPage = Pages.NULL
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' Cancel
|
||||
|
||||
#End Region ' COMMANDS
|
||||
|
||||
End Class
|
||||
@@ -1,231 +0,0 @@
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
|
||||
Public Class GeomEntity
|
||||
Inherits VMBase
|
||||
|
||||
Private m_bIsSelected As Boolean
|
||||
Public Property bIsSelected As Boolean
|
||||
Get
|
||||
Return m_bIsSelected
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_bIsSelected = value
|
||||
' seleziono in scena
|
||||
EgtDeselectAll()
|
||||
If Not IsNothing(value) Then
|
||||
EgtSelectObj(m_nId)
|
||||
End If
|
||||
EgtDraw()
|
||||
' segno come elemento selezionato in treeview
|
||||
Map.refImportPanelVM.SetSelGeomEntity(Me)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_nId As Integer = GDB_ID.NULL
|
||||
Public ReadOnly Property nId As Integer
|
||||
Get
|
||||
Return m_nId
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_sName As String
|
||||
Public ReadOnly Property sName As String
|
||||
Get
|
||||
Return m_sName
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property ghName As String
|
||||
Get
|
||||
Return m_nId & If(Not String.IsNullOrWhiteSpace(m_sName), " - " & m_sName, "")
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_Reference As ChooseReferenceWndVM.References = ChooseReferenceWndVM.References.BL
|
||||
Public Property Reference As ChooseReferenceWndVM.References
|
||||
Get
|
||||
Return m_Reference
|
||||
End Get
|
||||
Set(value As ChooseReferenceWndVM.References)
|
||||
m_Reference = value
|
||||
NotifyPropertyChanged(NameOf(ghReference))
|
||||
End Set
|
||||
End Property
|
||||
Public ReadOnly Property ghReference As String
|
||||
Get
|
||||
Select Case m_Reference
|
||||
Case ChooseReferenceWndVM.References.TL
|
||||
Return "┌"
|
||||
Case ChooseReferenceWndVM.References.TR
|
||||
Return "┐"
|
||||
Case ChooseReferenceWndVM.References.BL
|
||||
Return "└"
|
||||
Case ChooseReferenceWndVM.References.BR
|
||||
Return "┘"
|
||||
Case ChooseReferenceWndVM.References.TC
|
||||
Return "┬"
|
||||
Case ChooseReferenceWndVM.References.ML
|
||||
Return "├"
|
||||
Case ChooseReferenceWndVM.References.MR
|
||||
Return "┤"
|
||||
Case ChooseReferenceWndVM.References.BC
|
||||
Return "┴"
|
||||
Case ChooseReferenceWndVM.References.MC
|
||||
Return "┼"
|
||||
Case Else
|
||||
Return "X"
|
||||
End Select
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdImportedEntity As ICommand
|
||||
|
||||
Sub New(nId As Integer, sName As String)
|
||||
m_nId = nId
|
||||
m_sName = sName
|
||||
End Sub
|
||||
|
||||
#Region "COMMANDS"
|
||||
|
||||
#Region "ImportedEntity"
|
||||
|
||||
Public ReadOnly Property ImportedEntity_DoubleClick As ICommand
|
||||
Get
|
||||
If m_cmdImportedEntity Is Nothing Then
|
||||
m_cmdImportedEntity = New Command(AddressOf ImportedEntity)
|
||||
End If
|
||||
Return m_cmdImportedEntity
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub ImportedEntity()
|
||||
If Not IsNothing(Map.refImportPanelVM.SelImportLayer) Then
|
||||
Map.refImportPanelVM.ImportedEntityList.Remove(Me)
|
||||
Map.refImportPanelVM.SelImportLayer.EntityList.Add(Me)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' ImportedEntity
|
||||
|
||||
#End Region ' COMMANDS
|
||||
End Class
|
||||
|
||||
Public Class ImportPart
|
||||
Inherits VMBase
|
||||
|
||||
Private m_bIsSelected As Boolean
|
||||
Public Property bIsSelected As Boolean
|
||||
Get
|
||||
Return m_bIsSelected
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_bIsSelected = value
|
||||
Map.refImportPanelVM.SetSelImportPart(Me)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_nId As Integer
|
||||
Public ReadOnly Property nId As Integer
|
||||
Get
|
||||
Return m_nId
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_sName As String
|
||||
Public Property sName As String
|
||||
Get
|
||||
Return m_sName
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_sName = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property ghName As String
|
||||
Get
|
||||
Return If(Not String.IsNullOrWhiteSpace(m_sName), m_nId & " - " & m_sName, "Part" & m_nId)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_LayerList As New ObservableCollection(Of ImportLayer)
|
||||
Public ReadOnly Property LayerList As ObservableCollection(Of ImportLayer)
|
||||
Get
|
||||
Return m_LayerList
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Sub New()
|
||||
m_nId = If(Map.refImportPanelVM.ImportPartList.Count = 0, 1, Map.refImportPanelVM.ImportPartList.Max(Function(x) x.m_nId) + 1)
|
||||
m_LayerList.Add(New ImportLayer(ImportLayer.LayerType.PRINT_SOLID, "Print"))
|
||||
m_LayerList.Add(New ImportLayer(ImportLayer.LayerType.MACH_START, "Layer Start"))
|
||||
'm_LayerList.Add(New ImportLayer(ImportLayer.LayerType.ORIGINAL_SOLID, "Original Solid"))
|
||||
m_LayerList.Add(New ImportLayer(ImportLayer.LayerType.RIBS, "Ribs"))
|
||||
m_LayerList.Add(New ImportLayer(ImportLayer.LayerType.SHELL_NUMBER, "Reduce Shell Number"))
|
||||
m_LayerList.Add(New ImportLayer(ImportLayer.LayerType.AUX_SOLIDS, "Filled Solids"))
|
||||
m_LayerList.Add(New ImportLayer(ImportLayer.LayerType.OTHERS, "Others"))
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Public Class ImportLayer
|
||||
Inherits VMBase
|
||||
|
||||
Public Enum LayerType As Integer
|
||||
PRINT_SOLID = 1
|
||||
MACH_START = 2
|
||||
RIBS = 3
|
||||
SHELL_NUMBER = 4
|
||||
AUX_SOLIDS = 5
|
||||
OTHERS = 7
|
||||
End Enum
|
||||
|
||||
Private m_bIsSelected As Boolean
|
||||
Public Property bIsSelected As Boolean
|
||||
Get
|
||||
Return m_bIsSelected
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_bIsSelected = value
|
||||
Map.refImportPanelVM.SetSelImportLayer(Me)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_Type As LayerType
|
||||
Public Property Type As LayerType
|
||||
Get
|
||||
Return m_Type
|
||||
End Get
|
||||
Set(value As LayerType)
|
||||
m_Type = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_sName As String
|
||||
Public Property sName As String
|
||||
Get
|
||||
Return m_sName
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_sName = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_EntityList As New ObservableCollection(Of GeomEntity)
|
||||
Public Property EntityList As ObservableCollection(Of GeomEntity)
|
||||
Get
|
||||
Return m_EntityList
|
||||
End Get
|
||||
Set(value As ObservableCollection(Of GeomEntity))
|
||||
m_EntityList = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Sub New(Type As LayerType, sName As String)
|
||||
m_Type = Type
|
||||
m_sName = sName
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
@@ -1,10 +0,0 @@
|
||||
<UserControl x:Class="ImportSceneHostV"
|
||||
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">
|
||||
|
||||
<WindowsFormsHost>
|
||||
<EgtUILib:Scene x:Name="MainScene"/>
|
||||
</WindowsFormsHost>
|
||||
|
||||
</UserControl>
|
||||
@@ -1,33 +0,0 @@
|
||||
Imports System.Windows.Interop
|
||||
Imports System.IO
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
|
||||
Public Class ImportSceneHostV
|
||||
|
||||
Private m_ImportSceneHostVM As ImportSceneHostVM
|
||||
|
||||
Sub New()
|
||||
' This call is required by the designer.
|
||||
InitializeComponent()
|
||||
' Assegno al riferimento locale al VM il VM preso dal DataContext
|
||||
Me.DataContext = New ImportSceneHostVM
|
||||
m_ImportSceneHostVM = DirectCast(Me.DataContext, ImportSceneHostVM)
|
||||
m_ImportSceneHostVM.SetMainScene(MainScene)
|
||||
End Sub
|
||||
|
||||
Private Sub MainScene_GotFocus() Handles MainScene.GotFocus
|
||||
m_ImportSceneHostVM.SetIsFocused(True)
|
||||
EgtOutLog("MainScene_GotFocus")
|
||||
' Map.refSecondaryWindowV.Topmost = True
|
||||
'Map.refSecondaryWindowVM.SetVisibility(True)
|
||||
End Sub
|
||||
|
||||
Private Sub MainScene_LostFocus() Handles MainScene.LostFocus
|
||||
m_ImportSceneHostVM.SetIsFocused(False)
|
||||
EgtOutLog("MainScene_LostFocus")
|
||||
' Map.refSecondaryWindowV.Topmost = False
|
||||
'Map.refSecondaryWindowVM.SetVisibility(False)
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
@@ -1,722 +0,0 @@
|
||||
Imports System.IO
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
Imports Microsoft.Win32
|
||||
|
||||
Public Class ImportSceneHostVM
|
||||
Inherits EgtWPFLib5.SceneHostVM
|
||||
|
||||
Friend m_bIsFocused As Boolean
|
||||
Friend Sub SetIsFocused(bValue As Boolean)
|
||||
m_bIsFocused = bValue
|
||||
End Sub
|
||||
|
||||
' Identificativi per pezzo da selezionare/deselezionare
|
||||
Private m_nIdToSel As Integer = GDB_ID.NULL
|
||||
Private m_nIdToDesel As Integer = GDB_ID.NULL
|
||||
' Dati movimento
|
||||
Private m_dMaxStep As Double = 0
|
||||
' Dati per Drag
|
||||
Private m_nRestRadius As Integer = 5
|
||||
Private m_bDrag As Boolean = False
|
||||
Private m_bDragToStart As Boolean = False
|
||||
Private m_bVerify As Boolean = False
|
||||
Private m_bFromParking As Boolean = False
|
||||
Private m_bDragging As Boolean = False
|
||||
Private m_locPrev As System.Drawing.Point
|
||||
Private m_ptPrev As Point3d
|
||||
Private m_vtTotMove As Vector3d
|
||||
Private m_dSnapDist As Double = 0
|
||||
|
||||
Private bReducedCut As Boolean = False
|
||||
Private m_bMagnetic As Boolean
|
||||
|
||||
' punto di snap per inizializzazione
|
||||
Private m_SnapType As SP
|
||||
Friend ReadOnly Property SnapType As SP
|
||||
Get
|
||||
Return m_SnapType
|
||||
End Get
|
||||
End Property
|
||||
|
||||
#Region "CONSTRUCTOR"
|
||||
|
||||
Sub New()
|
||||
MyBase.New()
|
||||
AddHandler MainController.OnNewProject, AddressOf OnNewProject
|
||||
AddHandler MainController.OnOpenProject, AddressOf OnOpenProject
|
||||
AddHandler MainController.OnSavingProject, AddressOf OnSavingProject
|
||||
AddHandler MainController.OnSavedProject, AddressOf OnSavedProject
|
||||
AddHandler MainController.OnInsertedProject, AddressOf OnInsertedProject
|
||||
AddHandler MainController.OnImportingProject, AddressOf OnImportingProject
|
||||
AddHandler MainController.OnImportedProject, AddressOf OnImportedProject
|
||||
AddHandler MainController.PrepareInputBox, AddressOf PrepareInputBox
|
||||
AddHandler MainController.SetInputBoxText, AddressOf SetInputBoxText
|
||||
AddHandler MainController.SetInputBoxCheck, AddressOf SetInputBoxCheck
|
||||
AddHandler MainController.AddInputBoxCombo, AddressOf AddInputBoxCombo
|
||||
AddHandler MainController.UpdateUI, AddressOf UpdateUI
|
||||
End Sub
|
||||
|
||||
#End Region ' CONSTRUCTOR
|
||||
|
||||
#Region "METHODS"
|
||||
|
||||
Overrides Sub InitScene()
|
||||
InitSceneEvents()
|
||||
' Inizializzazione Scena
|
||||
PreInitializeScene()
|
||||
' Se tutto bene
|
||||
If MainScene.Init() And Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT._3DPRINT) Then
|
||||
PostInitializeScene()
|
||||
' Imposto stato gestione mouse diretto della scena a nessuno
|
||||
MainScene.SetStatusNull()
|
||||
EgtSetCurrentContext(MainScene.GetCtx())
|
||||
' inizializzo gestore lavorazioni
|
||||
EgtInitMachMgr(Map.refMainWindowVM.MainWindowM.sMachinesRoot, Map.refMainWindowVM.MainWindowM.sToolMakersDir)
|
||||
Return
|
||||
End If
|
||||
' Problemi
|
||||
' Se manca la chiave
|
||||
If Map.refMainWindowVM.MainWindowM.nKeyLevel = -1 Or Map.refMainWindowVM.MainWindowM.nKeyLevel = -2 Then
|
||||
EgtOutLog("Missing Dongle")
|
||||
' Box di avviso chiave mancante : "Chiave non presente. \n Inserirla e riavviare il programma." "Errore"
|
||||
Dim sText As String = EgtMsg(MSG_MISSINGKEYWD + 2) & vbCrLf & EgtMsg(MSG_MISSINGKEYWD + 3)
|
||||
Dim sTitle As String = EgtMsg(MSG_MISSINGKEYWD + 1)
|
||||
MessageBox.Show(sText, sTitle, MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
' Altrimenti manca la licenza
|
||||
Else
|
||||
EgtOutLog("Problems with Licence")
|
||||
' Box di avviso licenza con problemi : "Programma senza licenza. \n Caricala e riavvia il programma." "Errore"
|
||||
Dim sText As String = EgtMsg(MSG_MISSINGKEYWD + 5) & vbCrLf & EgtMsg(MSG_MISSINGKEYWD + 6)
|
||||
Dim sTitle As String = EgtMsg(MSG_MISSINGKEYWD + 1)
|
||||
If MessageBox.Show(sText, sTitle, MessageBoxButton.OKCancel, MessageBoxImage.Error) = MessageBoxResult.OK Then
|
||||
' Apro dialogo per richiesta file licenza
|
||||
Dim LicDlg As New Microsoft.Win32.OpenFileDialog() With {
|
||||
.DefaultExt = ".lic",
|
||||
.Filter = "Licences (.lic)|*.lic",
|
||||
.CheckFileExists = True,
|
||||
.ValidateNames = True
|
||||
}
|
||||
If LicDlg.ShowDialog() = True Then
|
||||
' Recupero il direttorio del file
|
||||
Dim sDir As String = Path.GetDirectoryName(LicDlg.FileName)
|
||||
' Se il file non è già nel direttorio di configurazione lo copio
|
||||
If Not String.Equals(Path.GetFullPath(sDir), Path.GetFullPath(Map.refMainWindowVM.MainWindowM.sConfigDir), StringComparison.OrdinalIgnoreCase) Then
|
||||
Try
|
||||
File.Copy(LicDlg.FileName, Path.Combine(Map.refMainWindowVM.MainWindowM.sConfigDir, LicDlg.SafeFileName), True)
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
End If
|
||||
' Imposto il nuovo file di licenza nell'Ini
|
||||
WriteMainPrivateProfileString(S_GENERAL, K_LICENCE, LicDlg.SafeFileName)
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
' Chiudo il programma
|
||||
End
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub InitSceneEvents()
|
||||
AddHandler MainScene.OnCursorPos, AddressOf OnCursorPos
|
||||
AddHandler MainScene.OnMouseSetObjFilterForSelect, AddressOf OnMouseSetObjFilterForSelect
|
||||
AddHandler MainScene.OnMouseSelectedAll, AddressOf OnMouseSelectedAll
|
||||
AddHandler MainScene.OnMouseDeselectedAll, AddressOf OnMouseDeselectedAll
|
||||
AddHandler MainScene.OnMouseDownScene, AddressOf OnMouseDownScene
|
||||
AddHandler MainScene.OnMouseMoveScene, AddressOf OnMouseMoveScene
|
||||
AddHandler MainScene.OnMouseUpScene, AddressOf OnMouseUpScene
|
||||
AddHandler MainScene.OnMouseSelectedObj, AddressOf OnMouseSelectedObj
|
||||
AddHandler MainScene.OnMouseSelectedPart, AddressOf OnMouseSelectedPart
|
||||
AddHandler MainScene.OnMouseSelectedLayer, AddressOf OnMouseSelectedLayer
|
||||
AddHandler MainScene.OnMouseSelectedPath, AddressOf OnMouseSelectedPath
|
||||
AddHandler MainScene.OnMousePointFromSelection, AddressOf OnMousePointFromSelection
|
||||
AddHandler MainScene.OnMouseDone, AddressOf OnMouseDone
|
||||
AddHandler MainScene.OnMouseSelectedPoint, AddressOf OnMouseSelectedPoint
|
||||
AddHandler MainScene.OnMouseSelectedDir, AddressOf OnMouseSelectedDir
|
||||
AddHandler MainScene.OnMouseMoveSelPoint, AddressOf OnMouseMoveSelPoint
|
||||
AddHandler MainScene.OnShowDistance, AddressOf OnShowDistance
|
||||
AddHandler MainScene.KeyDown, AddressOf OnKeyDown
|
||||
AddHandler MainScene.OnCloseGetDist, AddressOf OnCloseGetDist
|
||||
AddHandler MainScene.OnChangedSnapPointType, AddressOf OnChangedSnapPointType
|
||||
End Sub
|
||||
|
||||
Private Sub PreInitializeScene()
|
||||
' imposto colore di default
|
||||
Dim DefColor As New Color3d(0, 0, 0)
|
||||
GetMainPrivateProfileColor(S_GEOMDB, K_DEFAULTCOLOR, DefColor)
|
||||
MainScene.SetDefaultMaterial(DefColor)
|
||||
' imposto colori sfondo
|
||||
Dim BackTopColor As New Color3d(192, 192, 192)
|
||||
GetMainPrivateProfileColor(S_SCENE, K_BACKTOP, BackTopColor)
|
||||
Dim BackBotColor As New Color3d(BackTopColor)
|
||||
GetMainPrivateProfileColor(S_SCENE, K_BACKBOTTOM, BackBotColor)
|
||||
MainScene.SetViewBackground(BackTopColor, BackBotColor)
|
||||
' imposto spessore linee
|
||||
Dim nLineWidth As Integer = 1
|
||||
nLineWidth = GetMainPrivateProfileInt(S_SCENE, K_LINEWIDTH, nLineWidth)
|
||||
MainScene.SetLineWidth(nLineWidth)
|
||||
' imposto colore di evidenziazione
|
||||
Dim MarkColor As New Color3d(255, 255, 0)
|
||||
GetMainPrivateProfileColor(S_SCENE, K_MARK, MarkColor)
|
||||
MainScene.SetMarkMaterial(MarkColor)
|
||||
' imposto colore per superfici selezionate
|
||||
Dim SelSurfColor As New Color3d(255, 255, 192)
|
||||
GetMainPrivateProfileColor(S_SCENE, K_SELSURF, SelSurfColor)
|
||||
MainScene.SetSelSurfMaterial(SelSurfColor)
|
||||
' imposto tipo e colore del rettangolo di zoom
|
||||
Dim bOutline As Boolean = True
|
||||
Dim ZwColor As New Color3d(0, 0, 0)
|
||||
GetMainPrivateProfileZoomWin(S_SCENE, K_ZOOMWIN, bOutline, ZwColor)
|
||||
MainScene.SetZoomWinAttribs(bOutline, ZwColor)
|
||||
' imposto colore della linea di distanza
|
||||
Dim DstLnColor As New Color3d(255, 0, 0)
|
||||
GetMainPrivateProfileColor(S_SCENE, K_DISTLINE, DstLnColor)
|
||||
MainScene.SetDistLineMaterial(DstLnColor)
|
||||
' imposto parametri OpenGL
|
||||
Dim nDriver As Integer = GetMainPrivateProfileInt(S_OPENGL, K_DRIVER, 3)
|
||||
Dim b2Buff As Boolean = (GetMainPrivateProfileInt(S_OPENGL, K_DOUBLEBUFFER, 1) <> 0)
|
||||
Dim nColorBits As Integer = GetMainPrivateProfileInt(S_OPENGL, K_COLORBITS, 32)
|
||||
Dim nDepthBits As Integer = GetMainPrivateProfileInt(S_OPENGL, K_DEPTHBITS, 32)
|
||||
MainScene.SetViewAttributes(nDriver, b2Buff, nColorBits, nDepthBits)
|
||||
End Sub
|
||||
|
||||
Private Sub PostInitializeScene()
|
||||
' Impostazioni Controller
|
||||
MainController.SetScene(MainScene)
|
||||
MainController.SetSurfTmTolerance(0.05)
|
||||
MainController.SetUseCustomColors(True, S_SCENE, K_CUSTOMCOLORS)
|
||||
' imposto unità di misura per interfaccia utente
|
||||
Dim nMeasureUnit As Integer = GetMainPrivateProfileInt(S_SCENE, K_MMUNITS, 1)
|
||||
EgtSetUiUnits(nMeasureUnit <> 0)
|
||||
'Map.refMyStatusBarVM.SetMeasureUnit(nMeasureUnit <> 0)
|
||||
' imposto visualizzazione riferimento globale
|
||||
EgtSetGlobFrameShow(True)
|
||||
' imposto i dati della griglia
|
||||
'LoadGridData()
|
||||
EgtSetGridFrame(Frame3d.GLOB)
|
||||
EgtSetGridGeo(10, 10, 100, 484)
|
||||
EgtSetGridColor(New Color3d(160, 160, 160), New Color3d(160, 160, 160))
|
||||
EgtSetGridShow(True, False)
|
||||
' imposto tipo coordinate
|
||||
MainScene.SetGridCursorPos(True)
|
||||
' modo di visualizzazione
|
||||
Dim nShowMode As Integer = GetMainPrivateProfileInt(S_SCENE, K_SHOWMODE, SM.SHADING)
|
||||
'''Map.refShowPanelVM.SetShowMode(DirectCast(nShowMode, SM))
|
||||
' visualizzazione avanzata dei triangoli costituenti le superfici
|
||||
Dim bShowTriaAdv As Boolean = (GetMainPrivateProfileInt(S_SCENE, K_SHOWTRIAADV, 1) <> 0)
|
||||
EgtSetShowTriaAdv(bShowTriaAdv)
|
||||
' tipo visualizzazione per Zmap
|
||||
Dim nShowZmap As Integer = GetMainPrivateProfileInt(S_SCENE, K_SHOWZMAP, 1)
|
||||
EgtSetShowZmap(DirectCast(nShowZmap, ZSM), False)
|
||||
' dimensione lineare max in pixel delle textures
|
||||
Dim nTxrMaxLinPix As Integer = GetMainPrivateProfileInt(S_SCENE, K_TEXMAXLINPIX, 4096)
|
||||
EgtSetTextureMaxLinPixels(nTxrMaxLinPix)
|
||||
' tipo snap point
|
||||
MainScene.SetSnapPointType(SP.PT_SKETCH)
|
||||
' visualizzazione assemblato
|
||||
Dim nShowBuilding As Boolean = GetMainPrivateProfileInt(S_SCENE, K_SHOWBUILDING, 0) <> 0
|
||||
'''Map.refShowBeamPanelVM.SetShowBuilding(nShowBuilding)
|
||||
' nascondo input box
|
||||
'''Map.refFreeContourInputVM.ResetInputBox()
|
||||
End Sub
|
||||
|
||||
#End Region ' METHODS
|
||||
|
||||
#Region "ProjectManager"
|
||||
|
||||
Public Overrides Sub NewProject()
|
||||
EgtSetCurrentContext(MainScene.GetCtx())
|
||||
Dim bOk As Boolean = MainController.NewProject()
|
||||
MainScene.SetStatusNull()
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub OpenProject(sFilePath As String)
|
||||
EgtSetCurrentContext(MainScene.GetCtx())
|
||||
Dim bOk As Boolean = False
|
||||
If String.IsNullOrEmpty(sFilePath) Then
|
||||
' Recupero cartella dell'ultimo progetto aperto
|
||||
Dim sDir As String = MainController.GetCurrFile()
|
||||
If String.IsNullOrWhiteSpace(sDir) Then
|
||||
GetMainPrivateProfileString(S_MRUFILES, K_FILE, "", sDir)
|
||||
End If
|
||||
If Not String.IsNullOrWhiteSpace(sDir) Then
|
||||
sDir = Path.GetDirectoryName(sDir)
|
||||
End If
|
||||
bOk = MainController.OpenProject(sDir)
|
||||
Else
|
||||
bOk = MainController.OpenProject(sFilePath, False)
|
||||
End If
|
||||
MainScene.SetStatusNull()
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub SaveProject()
|
||||
MyBase.SaveProject()
|
||||
' Imposto stato gestione mouse diretto della scena a nessuno
|
||||
MainScene.SetStatusNull()
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub SaveAsProject()
|
||||
MyBase.SaveAsProject()
|
||||
' Imposto stato gestione mouse diretto della scena a nessuno
|
||||
MainScene.SetStatusNull()
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub InsertProject()
|
||||
' eseguo
|
||||
Dim sDir As String = String.Empty
|
||||
GetMainPrivateProfileString(S_MRUIMPORT, K_FILE & "1", "", sDir)
|
||||
Dim OpenFileDialog As New OpenFileDialog With {.Title = "Insert",
|
||||
.Filter = "Stereolithography (*.stl)|*.stl" &
|
||||
"|New geometry EgalTech(*.nge)|*.nge" &
|
||||
"|All Files (*.*)|*.*",
|
||||
.FilterIndex = 1,
|
||||
.InitialDirectory = sDir}
|
||||
If Not OpenFileDialog.ShowDialog Then
|
||||
Return
|
||||
End If
|
||||
Dim sFile As String = String.Empty
|
||||
sFile = OpenFileDialog.FileName
|
||||
Dim ChooseReferenceWndVM As New ChooseReferenceWndVM
|
||||
Dim ChooseReferenceWndV As New ChooseReferenceWndV(Application.Current.MainWindow, ChooseReferenceWndVM)
|
||||
If Not ChooseReferenceWndV.ShowDialog() Then Return
|
||||
|
||||
Dim nImportContext As Integer = EgtInitContext()
|
||||
MainController.InsertProject(sFile, False)
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub ImportProject()
|
||||
Dim sDir As String = String.Empty
|
||||
GetMainPrivateProfileString(S_MRUIMPORT, K_FILE & "1", "", sDir)
|
||||
If Not String.IsNullOrWhiteSpace(sDir) Then
|
||||
sDir = Path.GetDirectoryName(sDir)
|
||||
End If
|
||||
sDir.TrimEnd("\"c)
|
||||
MainController.ImportProject(sDir)
|
||||
' Imposto stato gestione mouse diretto della scena a nessuno
|
||||
MainScene.SetStatusNull()
|
||||
End Sub
|
||||
|
||||
Friend Sub PreExecScript(bScriptInMru As Boolean)
|
||||
'm_bScriptInMru = bScriptInMru
|
||||
End Sub
|
||||
|
||||
Friend Sub ExecScript(sFilePath As String)
|
||||
If String.IsNullOrEmpty(sFilePath) Then
|
||||
Dim sDir As String = String.Empty
|
||||
'GetMainPrivateProfileString(S_GENERAL, K_LASTLUADIR, "", sDir)
|
||||
MainController.Exec(sDir)
|
||||
Else
|
||||
MainController.Exec(sFilePath, False)
|
||||
End If
|
||||
Dim bMachiningMode As Boolean = EgtGetCurrMachGroup() <> GDB_ID.NULL
|
||||
If Not bMachiningMode And EgtGetCurrLayer() = GDB_ID.NULL Then
|
||||
Dim nCurrPart As Integer = EgtGetCurrPart()
|
||||
If nCurrPart = GDB_ID.NULL Or Not EgtSetCurrPartLayer(nCurrPart, EgtGetFirstLayer(nCurrPart, True)) Then
|
||||
EgtResetCurrPartLayer()
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' ProjectManager
|
||||
|
||||
#Region "SCENE EVENTS"
|
||||
|
||||
Private Sub OnCursorPos(ByVal sender As Object, ByVal sCursorPos As String)
|
||||
Map.refMyStatusBarVM.SetCurrPos(sCursorPos)
|
||||
End Sub
|
||||
|
||||
Private Sub OnMouseSetObjFilterForSelect(sender As Object, bZeroDim As Boolean, bCurve As Boolean,
|
||||
bSurf As Boolean, bVolume As Boolean, bExtra As Boolean)
|
||||
End Sub
|
||||
|
||||
Private Sub OnMouseSelectedAll(ByVal sender As Object, bOnlyVisble As Boolean)
|
||||
End Sub
|
||||
|
||||
Private Sub OnMouseDeselectedAll(ByVal sender As Object)
|
||||
End Sub
|
||||
|
||||
Private Sub OnMouseDownScene(sender As Object, e As Forms.MouseEventArgs)
|
||||
If e.Button = Forms.MouseButtons.Middle Then Return
|
||||
If Map.refInstrumentPanelVM.GetDistIsChecked Then Return
|
||||
Basic_OnMouseDownScene(sender, e)
|
||||
'Select Case Map.refMainMenuVM.SelPage
|
||||
' Case Pages.VIEW
|
||||
' If Not IsNothing(Map.refProjectVM.BTLStructureVM) Then
|
||||
' If Map.refFreeContourManagerVM.bIsActive Then Return
|
||||
' If Map.refShowBeamPanelVM.bShowAll Then
|
||||
' View_Part_OnMouseDownScene(sender, e)
|
||||
' Else
|
||||
' View_Feature_OnMouseDownScene(sender, e)
|
||||
' End If
|
||||
' End If
|
||||
' Case Pages.MACHINING
|
||||
' If Not IsNothing(Map.refMachGroupPanelVM) AndAlso Not IsNothing(Map.refMachGroupPanelVM.SelectedMachGroup) Then
|
||||
' Dim SelectedMachGroup As MyMachGroupVM = Map.refMachGroupPanelVM.SelectedMachGroup
|
||||
' If EgtGetCurrMachGroup() = GDB_ID.NULL Then Return
|
||||
' If SelectedMachGroup.nType = BWType.BEAM Then
|
||||
' Beam_OnMouseDownScene(sender, e)
|
||||
' ElseIf SelectedMachGroup.nType = BWType.WALL Then
|
||||
' Wall_OnMouseDownScene(sender, e)
|
||||
' End If
|
||||
' End If
|
||||
'End Select
|
||||
End Sub
|
||||
|
||||
Private Sub OnMouseMoveScene(sender As Object, e As Forms.MouseEventArgs)
|
||||
If e.Button = Forms.MouseButtons.Middle Then Return
|
||||
If Map.refInstrumentPanelVM.GetDistIsChecked Then Return
|
||||
Basic_OnMouseMoveScene(sender, e)
|
||||
'Select Case Map.refMainMenuVM.SelPage
|
||||
' Case Pages.VIEW
|
||||
' If Not IsNothing(Map.refProjectVM.BTLStructureVM) Then
|
||||
' If Map.refFreeContourManagerVM.bIsActive Then Return
|
||||
' If Map.refShowBeamPanelVM.bShowAll Then
|
||||
' View_Part_OnMouseMoveScene(sender, e)
|
||||
' Else
|
||||
' View_Feature_OnMouseMoveScene(sender, e)
|
||||
' End If
|
||||
' End If
|
||||
' Case Pages.MACHINING
|
||||
' If Not IsNothing(Map.refMachGroupPanelVM) AndAlso Not IsNothing(Map.refMachGroupPanelVM.SelectedMachGroup) Then
|
||||
' Dim SelectedMachGroup As MyMachGroupVM = Map.refMachGroupPanelVM.SelectedMachGroup
|
||||
' If EgtGetCurrMachGroup() = GDB_ID.NULL Then Return
|
||||
' If SelectedMachGroup.nType = BWType.BEAM Then
|
||||
' Beam_OnMouseMoveScene(sender, e)
|
||||
' ElseIf SelectedMachGroup.nType = BWType.WALL Then
|
||||
' Wall_OnMouseMoveScene(sender, e)
|
||||
' End If
|
||||
' End If
|
||||
'End Select
|
||||
End Sub
|
||||
|
||||
Private Sub OnMouseUpScene(sender As Object, e As Forms.MouseEventArgs)
|
||||
If e.Button = Forms.MouseButtons.Middle Then Return
|
||||
If Map.refInstrumentPanelVM.GetDistIsChecked Then Return
|
||||
Basic_OnMouseUpScene(sender, e)
|
||||
'Select Case Map.refMainMenuVM.SelPage
|
||||
' Case Pages.VIEW
|
||||
' If Not IsNothing(Map.refProjectVM.BTLStructureVM) Then
|
||||
' If Map.refFreeContourManagerVM.bIsActive Then Return
|
||||
' If Map.refShowBeamPanelVM.bShowAll Then
|
||||
' View_Part_OnMouseUpScene(sender, e)
|
||||
' Else
|
||||
' View_Feature_OnMouseUpScene(sender, e)
|
||||
' End If
|
||||
' End If
|
||||
' Case Pages.MACHINING
|
||||
' If Not IsNothing(Map.refMachGroupPanelVM) AndAlso Not IsNothing(Map.refMachGroupPanelVM.SelectedMachGroup) Then
|
||||
' Dim SelectedMachGroup As MyMachGroupVM = Map.refMachGroupPanelVM.SelectedMachGroup
|
||||
' If EgtGetCurrMachGroup() = GDB_ID.NULL Then Return
|
||||
' If SelectedMachGroup.nType = BWType.BEAM Then
|
||||
' Beam_OnMouseUpScene(sender, e)
|
||||
' ElseIf SelectedMachGroup.nType = BWType.WALL Then
|
||||
' Wall_OnMouseUpScene(sender, e)
|
||||
' End If
|
||||
' End If
|
||||
'End Select
|
||||
End Sub
|
||||
|
||||
Private Sub OnMouseSelectedObj(ByVal sender As Object, ByVal nId As Integer, ByVal bLast As Boolean)
|
||||
'' Se in modalità edit L250
|
||||
'If Map.refMainMenuVM.SelPage = Pages.VIEW AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM) AndAlso Map.refFreeContourManagerVM.bIsActive Then
|
||||
' ' se sto editando testo angoli
|
||||
' If Map.refFreeContourManagerVM.bIsModifyingTextAngle Then
|
||||
' ' passo testo selezionato
|
||||
' Map.refFreeContourManagerVM.TextAngleSelected(nId)
|
||||
' End If
|
||||
' MainController.MouseSelectedObj(nId, bLast)
|
||||
'End If
|
||||
End Sub
|
||||
|
||||
Private Sub OnMouseSelectedPart(ByVal sender As Object, ByVal nId As Integer)
|
||||
'' Se in modalità edit L250
|
||||
'If Map.refMainMenuVM.SelPage = Pages.VIEW AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM) AndAlso Map.refFreeContourManagerVM.bIsActive Then
|
||||
' MainController.MouseSelectedPart(nId)
|
||||
'End If
|
||||
End Sub
|
||||
|
||||
Private Sub OnMouseSelectedLayer(ByVal sender As Object, ByVal nId As Integer)
|
||||
'' Se in modalità edit L250
|
||||
'If Map.refMainMenuVM.SelPage = Pages.VIEW AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM) AndAlso Map.refFreeContourManagerVM.bIsActive Then
|
||||
' MainController.MouseSelectedLayer(nId)
|
||||
'End If
|
||||
End Sub
|
||||
|
||||
Private Sub OnMouseSelectedPath(ByVal sender As Object, ByVal nId As Integer, ByVal bHaltOnFork As Boolean)
|
||||
'' Se in modalità edit L250
|
||||
'If Map.refMainMenuVM.SelPage = Pages.VIEW AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM) AndAlso Map.refFreeContourManagerVM.bIsActive Then
|
||||
' MainController.MouseSelectedPath(nId, bHaltOnFork)
|
||||
'End If
|
||||
End Sub
|
||||
|
||||
Private Sub OnMousePointFromSelection(ByVal sender As Object, ByVal nId As Integer, ByVal PtP As Point3d, ByVal nAux As Integer)
|
||||
'' Se in modalità edit L250
|
||||
'If Map.refMainMenuVM.SelPage = Pages.VIEW AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM) AndAlso Map.refFreeContourManagerVM.bIsActive Then
|
||||
' MainController.SetPointFromSelection(nId, PtP, nAux)
|
||||
'End If
|
||||
End Sub
|
||||
|
||||
Private Sub OnMouseDone(ByVal sender As Object)
|
||||
'' Se in modalità edit L250
|
||||
'If Map.refMainMenuVM.SelPage = Pages.VIEW AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM) AndAlso Map.refFreeContourManagerVM.bIsActive Then
|
||||
' MainController.Done(Map.refFreeContourInputVM.Text)
|
||||
'End If
|
||||
End Sub
|
||||
|
||||
Private Sub OnMouseSelectedPoint(ByVal sender As Object, ByVal PtP As Point3d, ByVal nSep As SEP, ByVal nId As Integer)
|
||||
'' Se in modalità edit L250
|
||||
'If Map.refMainMenuVM.SelPage = Pages.VIEW AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM) AndAlso Map.refFreeContourManagerVM.bIsActive Then
|
||||
' Dim bDone As Boolean = (Keyboard.Modifiers And ModifierKeys.Control) <> ModifierKeys.Control
|
||||
' MainController.MouseSelectedPoint(PtP, nSep, nId, bDone)
|
||||
'End If
|
||||
End Sub
|
||||
|
||||
Private Sub OnMouseSelectedDir(ByVal sender As Object, ByVal VtDir As Vector3d)
|
||||
'' Se in modalità edit L250
|
||||
'If Map.refMainMenuVM.SelPage = Pages.VIEW AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM) AndAlso Map.refFreeContourManagerVM.bIsActive Then
|
||||
' MainController.SetLastVector3d(VtDir)
|
||||
'End If
|
||||
End Sub
|
||||
|
||||
Private Sub OnMouseMoveSelPoint(ByVal sender As Object, ByVal PtP As Point3d)
|
||||
'' Se in modalità edit L250
|
||||
'If Map.refMainMenuVM.SelPage = Pages.VIEW AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM) AndAlso Map.refFreeContourManagerVM.bIsActive Then
|
||||
' MainController.MouseMoveInSelectionPoint(PtP)
|
||||
'End If
|
||||
End Sub
|
||||
|
||||
Private Sub OnShowDistance(ByVal sender As Object, ByVal sDistance As String)
|
||||
Map.refMyStatusBarVM.SetOutputMessage(sDistance)
|
||||
End Sub
|
||||
|
||||
Private Sub OnKeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs)
|
||||
'' Se in modalità edit L250
|
||||
'If Map.refMainMenuVM.SelPage = Pages.VIEW AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM) AndAlso Map.refFreeContourManagerVM.bIsActive Then
|
||||
' ' Con DEL eseguo cancellazione delle entità selezionate
|
||||
' If e.KeyData = System.Windows.Forms.Keys.Delete Then
|
||||
' MainController.SetLastInteger(GDB_ID.SEL)
|
||||
' MainController.ExecuteCommand(Controller.CMD.DELETE)
|
||||
' ' Con SPAZIO ripeto l'ultimo comando
|
||||
' ElseIf e.KeyData = System.Windows.Forms.Keys.Space Then
|
||||
' MainController.RepeatLastCommand()
|
||||
' ' Con 'A' e in modalità continuazione, forzo il passaggio ad arco
|
||||
' ElseIf e.KeyData = System.Windows.Forms.Keys.A And MainController.GetContinue() Then
|
||||
' MainController.ContinueArcPDP()
|
||||
' ' Con 'L' e in modalità continuazione, forzo il passaggio a retta
|
||||
' ElseIf e.KeyData = System.Windows.Forms.Keys.L And MainController.GetContinue() Then
|
||||
' MainController.ContinueLine2P()
|
||||
' ' Con 'V' cambio lo stato del check
|
||||
' ElseIf e.KeyData = System.Windows.Forms.Keys.V Then
|
||||
' Map.refFreeContourInputVM.ChangeInputBoxCheck()
|
||||
' End If
|
||||
'End If
|
||||
End Sub
|
||||
|
||||
Private Sub OnCloseGetDist(sender As System.Object)
|
||||
Map.refInstrumentPanelVM.SetGetDistance_IsChecked(False)
|
||||
End Sub
|
||||
|
||||
Friend Sub OnChangedSnapPointType(ByVal sender As Object, ByVal nSpType As SP, ByVal bUser As Boolean)
|
||||
m_SnapType = nSpType
|
||||
If Not IsNothing(Map.refMyStatusBarVM) Then Map.refMyStatusBarVM.SetSnapPointType(nSpType)
|
||||
End Sub
|
||||
|
||||
#End Region ' SCENE EVENTS
|
||||
|
||||
#Region "CONTROLLER EVENTS"
|
||||
|
||||
Private Sub OnNewProject(sender As Object, bOk As Boolean)
|
||||
CurrentMachine.CreateMachineTable()
|
||||
If Not bOk Then
|
||||
MessageBox.Show(Application.Current.MainWindow, EgtMsg(10002), EgtMsg(10001), MessageBoxButton.OK, MessageBoxImage.Error) ' Error on new file - Error
|
||||
End If
|
||||
EgtZoom(ZM.ALL)
|
||||
MainScene.SetStatusNull()
|
||||
End Sub
|
||||
|
||||
Private Sub OnOpenProject(sender As Object, sFile As String, bOk As Boolean)
|
||||
EgtZoom(ZM.ALL)
|
||||
WriteMainPrivateProfileString(S_GENERAL, K_LASTNGEDIR, Path.GetDirectoryName(sFile))
|
||||
If bOk Then
|
||||
Map.refProjManagerVM.MruFiles.Add(sFile)
|
||||
Else
|
||||
Map.refProjManagerVM.MruFiles.Remove(sFile)
|
||||
Dim sMsg As String
|
||||
If My.Computer.FileSystem.FileExists(sFile) Then
|
||||
sMsg = EgtMsg(10003) & " '" & sFile & "'" 'Error opening file
|
||||
Else
|
||||
sMsg = EgtMsg(10009) & " '" & sFile & "'" 'Missing file
|
||||
End If
|
||||
MessageBox.Show(Application.Current.MainWindow, sMsg, EgtMsg(10001), MessageBoxButton.OK, MessageBoxImage.Error) 'Error
|
||||
End If
|
||||
MainScene.SetStatusNull()
|
||||
End Sub
|
||||
|
||||
Private Sub OnSavingProject(ByVal sender As Object, sFile As String)
|
||||
End Sub
|
||||
|
||||
Private Sub OnSavedProject(ByVal sender As Object, ByVal sFile As String, ByVal bOk As Boolean)
|
||||
WriteMainPrivateProfileString(S_GENERAL, K_LASTNGEDIR, Path.GetDirectoryName(sFile))
|
||||
If bOk Then
|
||||
Map.refProjManagerVM.MruFiles.Add(sFile)
|
||||
Else
|
||||
Map.refProjManagerVM.MruFiles.Remove(sFile)
|
||||
Dim sMsg As String = EgtMsg(10004) & " '" & sFile & "'" 'Error saving file
|
||||
MessageBox.Show(Application.Current.MainWindow, sMsg, EgtMsg(10001), MessageBoxButton.OK, MessageBoxImage.Error) ' Error
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub OnInsertedProject(ByVal sender As Object, ByVal sFile As String, ByVal bOk As Boolean)
|
||||
' Segnalo eventuale errore
|
||||
If Not bOk Then
|
||||
Dim sMsg As String = EgtMsg(10006) & " '" & sFile & "'" 'Error importing file
|
||||
MessageBox.Show(Application.Current.MainWindow, sMsg, EgtMsg(10001), MessageBoxButton.OK, MessageBoxImage.Error) ' Error
|
||||
Else
|
||||
' lo aggiungo alla lista pezzi
|
||||
Map.refProjectVM.AddNewPart(sFile)
|
||||
End If
|
||||
EgtDraw()
|
||||
MainScene.SetStatusNull()
|
||||
End Sub
|
||||
|
||||
Private Sub OnImportingProject(sender As Object, nType As Integer, ByRef nFlag As Integer)
|
||||
If nType <> FT.NULL Then
|
||||
If nType = FT.CNC Then
|
||||
nFlag = GetMainPrivateProfileInt(S_IMPORT, K_CNCFLAG, EIC_FL.NONE)
|
||||
Else
|
||||
nFlag = 0
|
||||
End If
|
||||
' Abilito progress e bottone stop
|
||||
Map.refMyStatusBarVM.StartLoading("", True)
|
||||
Else
|
||||
MessageBox.Show(Application.Current.MainWindow, EgtMsg(10005), EgtMsg(10001), MessageBoxButton.OK, MessageBoxImage.Error) ' File type unknown - Error
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub OnImportedProject(ByVal sender As Object, ByVal sFile As String, ByVal bOk As Boolean)
|
||||
EgtZoom(ZM.ALL)
|
||||
' Disabilito progress e bottone stop
|
||||
Map.refMyStatusBarVM.EndLoading("")
|
||||
' Salvo path
|
||||
WriteMainPrivateProfileString(S_GENERAL, K_LASTIMPDIR, Path.GetDirectoryName(sFile))
|
||||
' Segnalo eventuale errore
|
||||
If Not bOk Then
|
||||
Dim sMsg As String = EgtMsg(10006) & " '" & sFile & "'" 'Error importing file
|
||||
MessageBox.Show(Application.Current.MainWindow, sMsg, EgtMsg(10001), MessageBoxButton.OK, MessageBoxImage.Error) ' Error
|
||||
ElseIf Path.GetExtension(sFile) <> ".cnc" Then
|
||||
' creo oggetto pezzo in lista
|
||||
'Map.refProjectVM.
|
||||
End If
|
||||
MainScene.SetStatusNull()
|
||||
End Sub
|
||||
|
||||
Private Sub PrepareInputBox(ByVal sTitle As String, ByVal sLabel As String, ByVal sCheckLabel As String,
|
||||
ByVal bShowCombo As Boolean, ByVal bShowBtn As Boolean)
|
||||
'Map.refFreeContourInputVM.PrepareInputBox(sTitle, sLabel, sCheckLabel, bShowCombo, bShowBtn)
|
||||
End Sub
|
||||
|
||||
Private Sub SetInputBoxText(ByVal sText As String)
|
||||
'Map.refFreeContourInputVM.SetInputBoxText(sText)
|
||||
End Sub
|
||||
|
||||
Private Sub SetInputBoxCheck(ByVal bCheck As Boolean)
|
||||
'Map.refFreeContourInputVM.SetInputBoxCheck(bCheck)
|
||||
End Sub
|
||||
|
||||
Private Sub AddInputBoxCombo(ByVal sText As String, ByVal bSelected As Boolean)
|
||||
'Map.refFreeContourInputVM.AddInputBoxCombo(sText, bSelected)
|
||||
End Sub
|
||||
|
||||
Private Sub UpdateUI(ByVal sender As Object, ByVal bReloadUI As Boolean)
|
||||
'' pulisco input e relativi messaggi
|
||||
'Map.refFreeContourInputVM.ResetInputBox()
|
||||
If MainController.GetContinue() Then
|
||||
Map.refMyStatusBarVM.SetOutputMessage(EgtMsg(399)) ' Continue : 'L' with line, 'A' with arc
|
||||
Else
|
||||
Map.refMyStatusBarVM.ClearOutputMessage()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' CONTROLLER EVENTS
|
||||
|
||||
#Region "Part"
|
||||
|
||||
Friend Sub Basic_OnMouseDownScene(sender As Object, e As Forms.MouseEventArgs)
|
||||
' Verifico se selezionato indicativo di pezzo
|
||||
EgtSetObjFilterForSelWin(True, True, True, True, True)
|
||||
Dim nSel As Integer
|
||||
EgtSelect(e.Location, Scene.DIM_SEL, Scene.DIM_SEL, nSel)
|
||||
Dim nId As Integer = EgtGetFirstObjInSelWin()
|
||||
While nId <> GDB_ID.NULL
|
||||
' Recupero l'identificativo del pezzo cui appartiene
|
||||
Dim nPartId As Integer = EgtGetParent(EgtGetParent(nId))
|
||||
Dim bFound As Boolean = False
|
||||
If EgtIsPart(nPartId) Then bFound = True
|
||||
If Not bFound Then
|
||||
nId = EgtGetNextObjInSelWin()
|
||||
Continue While
|
||||
End If
|
||||
Dim nStat As Integer = GDB_ST.ON_
|
||||
EgtGetStatus(nPartId, nStat)
|
||||
' Se già selezionato
|
||||
If nStat = GDB_ST.SEL Then
|
||||
' Memorizzo Id da deselezionare
|
||||
m_nIdToDesel = nPartId
|
||||
Else
|
||||
' Memorizzo Id da selezionare
|
||||
m_nIdToSel = nPartId
|
||||
End If
|
||||
Exit While
|
||||
nId = EgtGetNextObjInSelWin()
|
||||
End While
|
||||
' Dati per drag
|
||||
m_bDragToStart = True
|
||||
End Sub
|
||||
|
||||
Friend Sub Basic_OnMouseMoveScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
|
||||
' Se drag non abilitato o già in esecuzione, esco
|
||||
If Not m_bDragToStart Then Return
|
||||
' Se primo movimento di drag, verifico di aver superato la soglia di movimento in pixel
|
||||
If m_bDragToStart Then
|
||||
If Math.Abs(e.Location.X - m_locPrev.X) < m_nRestRadius And
|
||||
Math.Abs(e.Location.Y - m_locPrev.Y) < m_nRestRadius Then
|
||||
Return
|
||||
End If
|
||||
m_bDragToStart = False
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Friend Sub Basic_OnMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
|
||||
' Se eseguito drag
|
||||
If Not m_bDragToStart Then
|
||||
' Se selezione da eseguire
|
||||
ElseIf m_nIdToSel <> GDB_ID.NULL Then
|
||||
' Se pezzo da selezionare non è già selezionato
|
||||
'If EgtIsSelectedObj(m_nIdToSel) Then
|
||||
' Eseguo la selezione
|
||||
Map.refProjectVM.SelPartFromId(m_nIdToSel)
|
||||
'EgtDeselectAll()
|
||||
'EgtSelectPartObjs(m_nIdToSel)
|
||||
'EgtSelectObj(m_nIdToSel)
|
||||
'EgtSetMark(m_nIdToSel)
|
||||
'End If
|
||||
'If IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart) OrElse Map.refProjectVM.BTLStructureVM.SelBTLPart.nPartId <> m_nIdToSel Then
|
||||
' ' Eseguo la selezione
|
||||
' For Each BTLPart In Map.refProjectVM.BTLStructureVM.BTLPartVMList
|
||||
' If BTLPart.nPartId = m_nIdToSel Then
|
||||
' BTLPart.SetIsSelected(True)
|
||||
' ElseIf BTLPart.IsSelected Then
|
||||
' BTLPart.SetIsSelected(False)
|
||||
' End If
|
||||
' Next
|
||||
' End If
|
||||
End If
|
||||
' Reset
|
||||
m_bDrag = False
|
||||
m_nIdToSel = GDB_ID.NULL
|
||||
m_nIdToDesel = GDB_ID.NULL
|
||||
EgtDraw()
|
||||
End Sub
|
||||
|
||||
#End Region ' Part
|
||||
|
||||
End Class
|
||||
@@ -1,33 +0,0 @@
|
||||
<EgtWPFLib5:EgtCustomWindow x:Class="ImportWndV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
xmlns:local="clr-namespace:Icarus">
|
||||
<DockPanel>
|
||||
<Grid DockPanel.Dock="Left">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<ListBox ItemsSource="{Binding ImportedEntityList}"
|
||||
SelectedItem="{Binding SelImportedEntity}"/>
|
||||
<StackPanel Grid.Row="1"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="+"
|
||||
Command="{Binding AddPart_Command}"
|
||||
Style="{StaticResource ToolBar_Button}"/>
|
||||
<Button Content="-"
|
||||
Command="{Binding RemovePart_Command}"
|
||||
Style="{StaticResource ToolBar_Button}"/>
|
||||
<Button Content="Ref"
|
||||
Command="{Binding ChangeReference_Command}"
|
||||
Style="{StaticResource ToolBar_Button}"/>
|
||||
</StackPanel>
|
||||
<ListBox Grid.Row="2"
|
||||
ItemsSource="{Binding ImportPartList}"
|
||||
SelectedItem="{Binding SelImportPartList}"/>
|
||||
</Grid>
|
||||
<!--<local:ImportSceneHostV/>-->
|
||||
</DockPanel>
|
||||
</EgtWPFLib5:EgtCustomWindow>
|
||||
@@ -1,18 +0,0 @@
|
||||
Public Class ImportWndV
|
||||
|
||||
Private WithEvents m_ImportWndVM As ImportWndVM
|
||||
|
||||
Sub New(Owner As Window, ImportWndVM As ImportWndVM)
|
||||
MyBase.New(Owner)
|
||||
' This call is required by the designer.
|
||||
InitializeComponent()
|
||||
Me.DataContext = ImportWndVM
|
||||
' Assegno al riferimento locale al VM il VM preso dal DataContext
|
||||
m_ImportWndVM = ImportWndVM
|
||||
End Sub
|
||||
|
||||
'Private Sub CloseWindow(bDialogResult As Boolean) Handles m_ImportWndVM.m_CloseWindow
|
||||
' Me.DialogResult = bDialogResult
|
||||
'End Sub
|
||||
|
||||
End Class
|
||||
@@ -1,106 +0,0 @@
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports EgtWPFLib5
|
||||
Imports EgtUILib
|
||||
|
||||
Public Class ImportWndVM
|
||||
Inherits VMBase
|
||||
|
||||
Private m_ImportedEntityList As ObservableCollection(Of GeomEntity)
|
||||
Public ReadOnly Property ImportedEntityList As ObservableCollection(Of GeomEntity)
|
||||
Get
|
||||
Return m_ImportedEntityList
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_SelImportedEntity As GeomEntity
|
||||
Public Property SelImportedEntity As GeomEntity
|
||||
Get
|
||||
Return m_SelImportedEntity
|
||||
End Get
|
||||
Set(value As GeomEntity)
|
||||
m_SelImportedEntity = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_ImportPartList As ObservableCollection(Of ImportPart)
|
||||
Public ReadOnly Property ImportPartList As ObservableCollection(Of ImportPart)
|
||||
Get
|
||||
Return m_ImportPartList
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_SelImportPartList As ImportPart
|
||||
Public Property SelImportPartList As ImportPart
|
||||
Get
|
||||
Return m_SelImportPartList
|
||||
End Get
|
||||
Set(value As ImportPart)
|
||||
m_SelImportPartList = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Sub New(sFilePath As String)
|
||||
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Public Class GeomEntity
|
||||
|
||||
Private m_nId As Integer = GDB_ID.NULL
|
||||
Public ReadOnly Property nId As Integer
|
||||
Get
|
||||
Return m_nId
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_sName As String
|
||||
Public ReadOnly Property sName As String
|
||||
Get
|
||||
Return m_sName
|
||||
End Get
|
||||
End Property
|
||||
|
||||
End Class
|
||||
|
||||
Public Class ImportPart
|
||||
|
||||
Private m_sName As String
|
||||
Public Property sName As String
|
||||
Get
|
||||
Return m_sName
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_sName = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_LayerList As List(Of ImportLayer)
|
||||
Public ReadOnly Property LayerList As List(Of ImportLayer)
|
||||
Get
|
||||
Return m_LayerList
|
||||
End Get
|
||||
End Property
|
||||
|
||||
End Class
|
||||
|
||||
Public Class ImportLayer
|
||||
|
||||
Private m_sName As String
|
||||
Public Property sName As String
|
||||
Get
|
||||
Return m_sName
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_sName = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_EntityList As List(Of GeomEntity)
|
||||
Public ReadOnly Property EntityList As List(Of GeomEntity)
|
||||
Get
|
||||
Return m_EntityList
|
||||
End Get
|
||||
End Property
|
||||
|
||||
End Class
|
||||
@@ -6,6 +6,20 @@ Imports EgtWPFLib5
|
||||
Public Class MyInstrumentPanelVM
|
||||
Inherits InstrumentPanelVM
|
||||
|
||||
Private m_PrevSelObjs As New List(Of Integer)
|
||||
Friend ReadOnly Property PrevSelObjs As List(Of Integer)
|
||||
Get
|
||||
Return m_PrevSelObjs
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_PrevPage As Pages
|
||||
Friend ReadOnly Property PrevPage As Pages
|
||||
Get
|
||||
Return m_PrevPage
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_InstrumentPanel_IsEnabled As Boolean = True
|
||||
Public Property InstrumentPanel_IsEnabled As Boolean
|
||||
Get
|
||||
@@ -16,6 +30,114 @@ Public Class MyInstrumentPanelVM
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_bEdgeAnalysis_IsChecked As Boolean
|
||||
Public Property bEdgeAnalysis_IsChecked As Boolean
|
||||
Get
|
||||
Return m_bEdgeAnalysis_IsChecked
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
' verifico che non sia in corso un altro comando
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
m_bEdgeAnalysis_IsChecked = value
|
||||
If value Then
|
||||
' salvo pagina precedente ed imposto pagina nulla
|
||||
m_PrevPage = Map.refTopPanelVM.SelPage
|
||||
Map.refTopPanelVM.SelPage = Pages.NULL
|
||||
' disabilito ProjManager, TopPanel, TFS, Slider, bottoni e uscita dal programma
|
||||
Map.refProjManagerVM.SetProjCmdIsEnabled(False)
|
||||
Map.refTopPanelVM.SetTopPanelIsEnabled(False)
|
||||
Map.refViewLayerManagerVM.SetViewLayerManagerIsEnabled(False)
|
||||
Map.refSliceManagerVM.SetButtonsIsEnabled(False)
|
||||
Map.refSliderManagerVM.SetLayerIndexIsEnabled(False)
|
||||
Map.refSliderManagerVM.SetLayerAdvancementIsEnabled(False)
|
||||
' Disabilito segnalazione modificato
|
||||
Dim DisableMgr As New DisableModifiedMgr
|
||||
' salvo selezione precedente e deseleziono altri oggetti
|
||||
Dim nSelObjId As Integer = EgtGetFirstSelectedObj()
|
||||
While nSelObjId <> GDB_ID.NULL
|
||||
m_PrevSelObjs.Add(nSelObjId)
|
||||
nSelObjId = EgtGetNextSelectedObj()
|
||||
End While
|
||||
' eseguo comando su tutti i pezzi
|
||||
Dim sResult As String = "Chunk Number for every part:"
|
||||
For Each CurrPart In Map.refTopPanelVM.PartList
|
||||
EgtDeselectAll()
|
||||
Dim nPrintSolidId As Integer = EgtGetFirstInGroup(CurrPart.nPrintSolidLayerId)
|
||||
Dim nChunkLayerId As Integer = EgtGetFirstNameInGroup(CurrPart.nPartId, LAY_CHUNKS)
|
||||
If nChunkLayerId = GDB_ID.NULL Then
|
||||
nChunkLayerId = EgtCreateGroup(CurrPart.nPartId)
|
||||
EgtSetName(nChunkLayerId, LAY_CHUNKS)
|
||||
End If
|
||||
EgtSelectObj(nPrintSolidId)
|
||||
EgtSetCurrPartLayer(CurrPart.nPartId, nChunkLayerId)
|
||||
' estraggo bordi superficie
|
||||
Dim nCount As Integer = 0
|
||||
If EgtGetType(nPrintSolidId) = GDB_TY.SRF_FRGN Then
|
||||
For nChunk As Integer = 0 To EgtSurfFrChunkCount(nPrintSolidId) - 1
|
||||
EgtExtractSurfFrChunkLoops(nPrintSolidId, nChunk, nChunkLayerId, nCount)
|
||||
Next
|
||||
ElseIf EgtGetType(nPrintSolidId) = GDB_TY.SRF_MESH Then
|
||||
EgtExtractSurfTmLoops(nPrintSolidId, nChunkLayerId, nCount)
|
||||
ElseIf EgtGetType(nPrintSolidId) = GDB_TY.SRF_BEZ Then
|
||||
EgtExtractSurfBezierLoops(nPrintSolidId, nChunkLayerId, nCount)
|
||||
End If
|
||||
sResult &= Environment.NewLine & CurrPart.sName & " = " & nCount
|
||||
Next
|
||||
EgtDeselectAll()
|
||||
' li seleziono per evidenziarli
|
||||
For Each CurrPart In Map.refTopPanelVM.PartList
|
||||
Dim nChunkLayerId As Integer = EgtGetFirstNameInGroup(CurrPart.nPartId, LAY_CHUNKS)
|
||||
Dim nChunkId As Integer = EgtGetFirstInGroup(nChunkLayerId)
|
||||
While nChunkId <> GDB_ID.NULL
|
||||
EgtSelectObj(nChunkId)
|
||||
nChunkId = EgtGetNext(nChunkId)
|
||||
End While
|
||||
Next
|
||||
EgtDraw()
|
||||
' Ripristino stato segnalazione modifica
|
||||
DisableMgr.ReEnable()
|
||||
MessageBox.Show(sResult)
|
||||
Else
|
||||
' Disabilito segnalazione modificato
|
||||
Dim DisableMgr As New DisableModifiedMgr
|
||||
' cancello tutti i gruppi con i chunk
|
||||
For Each CurrPart In Map.refTopPanelVM.PartList
|
||||
Dim nChunkLayerId As Integer = EgtGetFirstNameInGroup(CurrPart.nPartId, LAY_CHUNKS)
|
||||
If nChunkLayerId <> GDB_ID.NULL Then EgtErase(nChunkLayerId)
|
||||
Next
|
||||
' ripristino selezioni precedenti
|
||||
For Each Id In m_PrevSelObjs
|
||||
EgtSelectObj(Id)
|
||||
Next
|
||||
' Ripristino stato segnalazione modifica
|
||||
DisableMgr.ReEnable()
|
||||
EgtDraw()
|
||||
' ripristino pagina precedente
|
||||
Map.refTopPanelVM.SelPage = m_PrevPage
|
||||
' riabilito ProjManager, TopPanel, TFS, Slider, bottoni e uscita dal programma
|
||||
Map.refProjManagerVM.SetProjCmdIsEnabled(True)
|
||||
Map.refTopPanelVM.SetTopPanelIsEnabled(True)
|
||||
Map.refViewLayerManagerVM.SetViewLayerManagerIsEnabled(True)
|
||||
Map.refSliceManagerVM.SetButtonsIsEnabled(True)
|
||||
Map.refSliderManagerVM.SetLayerIndexIsEnabled(True)
|
||||
Map.refSliderManagerVM.SetLayerAdvancementIsEnabled(True)
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_bEdgeAnalysis_IsEnabled As Boolean = True
|
||||
Public Property bEdgeAnalysis_IsEnabled As Boolean
|
||||
Get
|
||||
Return m_bEdgeAnalysis_IsEnabled
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_bEdgeAnalysis_IsEnabled = value
|
||||
End Set
|
||||
End Property
|
||||
Friend Sub SetEdgeAnalysisIsEnabled(value As Boolean)
|
||||
m_bEdgeAnalysis_IsEnabled = value
|
||||
NotifyPropertyChanged(NameOf(bEdgeAnalysis_IsEnabled))
|
||||
End Sub
|
||||
|
||||
#Region "CONSTRUCTORS"
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<UserControl x:Class="LeftPanelV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
xmlns:PrintApp="clr-namespace:Icarus"
|
||||
Margin="5">
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
xmlns:PrintApp="clr-namespace:Icarus"
|
||||
Margin="5">
|
||||
<TabControl SelectedIndex="{Binding SelPanel}"
|
||||
Background="Transparent"
|
||||
BorderThickness="0">
|
||||
@@ -15,7 +15,8 @@
|
||||
<TabItem Header="NULL">
|
||||
</TabItem>
|
||||
<TabItem Header="IMPORT">
|
||||
<PrintApp:ImportPanelV DataContext="{StaticResource ImportPanelVM}"/>
|
||||
<!--<PrintApp:ImportPanelV DataContext="{StaticResource ImportPanelVM}"/>-->
|
||||
<PrintApp:ManagePartPanelV DataContext="{StaticResource ManagePartPanelVM}"/>
|
||||
</TabItem>
|
||||
<TabItem Header="DISPOSITION">
|
||||
<PrintApp:DispositionPanelV DataContext="{StaticResource DispositionPanelVM}"/>
|
||||
@@ -36,7 +37,8 @@
|
||||
<Button Height="100"/>
|
||||
</TabItem>
|
||||
<TabItem Header="MODIFYPART">
|
||||
<PrintApp:ImportPanelV DataContext="{StaticResource ImportPanelVM}"/>
|
||||
<!--<PrintApp:ModifyPartPanelV DataContext="{StaticResource ModifyPartPanelVM}"/>-->
|
||||
<PrintApp:ManagePartPanelV DataContext="{StaticResource ManagePartPanelVM}"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
|
||||
|
||||
@@ -54,6 +54,9 @@ Public Class LeftPanelVM
|
||||
Map.refRibPanelVM.Init()
|
||||
Case Panels.SHELLNUMBER
|
||||
Map.refShellNumberPanelVM.Init()
|
||||
Case Panels.MODIFYPART
|
||||
''Map.refModifyPartPanelVM.Init()
|
||||
Map.refManagePartPanelVM.Init(ManagePartPanelVM.ManagePartType.MODIFY)
|
||||
End Select
|
||||
Map.refViewLayerManagerVM.UpdateForced()
|
||||
NotifyPropertyChanged(NameOf(SelPanel))
|
||||
|
||||
@@ -14,47 +14,70 @@
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<UniformGrid Rows="1">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Button Content="New"
|
||||
Command="{Binding New_Command}"
|
||||
IsEnabled="{Binding IsEnabled}"
|
||||
Style="{StaticResource ToolBar_TextButton}"/>
|
||||
<Button Content="Save"
|
||||
Grid.Column="1"
|
||||
Command="{Binding Save_Command}"
|
||||
IsEnabled="{Binding IsEnabled}"
|
||||
Style="{StaticResource ToolBar_TextButton}"/>
|
||||
<Button Content="Delete"
|
||||
Grid.Column="2"
|
||||
Command="{Binding Delete_Command}"
|
||||
IsEnabled="{Binding IsEnabled}"
|
||||
Style="{StaticResource ToolBar_TextButton}"/>
|
||||
</UniformGrid>
|
||||
<ComboBox Grid.Row="1"
|
||||
Name="MachiningCombo"
|
||||
ItemsSource="{Binding MachiningList}"
|
||||
SelectedItem="{Binding SelMachining}"
|
||||
DisplayMemberPath="ghName"/>
|
||||
<Grid Grid.Row="2"
|
||||
Visibility="{Binding Name_Visibility}">
|
||||
<Button Grid.Column="3"
|
||||
Command="{Binding Import_Command}"
|
||||
ToolTip="{Binding ImportToolTip}"
|
||||
IsEnabled="{Binding ImpExp_IsEnabled}"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/MachiningDB/Import.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button Grid.Column="4"
|
||||
Command="{Binding Export_Command}"
|
||||
ToolTip="{Binding ImportToolTip}"
|
||||
IsEnabled="{Binding ImpExp_IsEnabled}"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/MachiningDB/Export.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
</Grid>
|
||||
<Grid Grid.Row="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding Name_Msg}"/>
|
||||
<EgtWPFLib5:EgtTextBox Grid.Column="1"
|
||||
Text="{Binding SelectedItem.sName, ElementName=MachiningCombo, UpdateSourceTrigger=Explicit}"/>
|
||||
<!--<Button Grid.Column="2"
|
||||
Content="R"
|
||||
Command="{Binding ResetParam_Command}"
|
||||
CommandParameter="dCurrStrandH"
|
||||
IsEnabled="{Binding bCurrStrandH_IsModified}"
|
||||
VerticalContentAlignment="Center"
|
||||
HorizontalContentAlignment="Center"
|
||||
Margin="5,0,0,0"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>-->
|
||||
<ComboBox Name="MachiningCombo"
|
||||
ItemsSource="{Binding MachiningList}"
|
||||
SelectedItem="{Binding SelMachining}"
|
||||
DisplayMemberPath="ghName"
|
||||
Visibility="{Binding Combo_Visibility}"
|
||||
Style="{StaticResource FeatureComboBox}"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding SelectedItem.sName, ElementName=MachiningCombo, UpdateSourceTrigger=Explicit}"
|
||||
IsExplicitFocused="{Binding UserShouldEditValueNow}"
|
||||
Visibility="{Binding Name_Visibility}"
|
||||
Style="{StaticResource OptionTextBox}"/>
|
||||
<Button Grid.Column="1"
|
||||
Command="{Binding EditName_Command}"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/TopPanel/Edit.png"/>
|
||||
</Button>
|
||||
</Grid>
|
||||
<ScrollViewer Grid.Row="3"
|
||||
VerticalScrollBarVisibility="Auto"
|
||||
HorizontalScrollBarVisibility="Disabled">
|
||||
<ItemsControl Grid.Row="1"
|
||||
ItemsSource="{Binding SelectedItem.CathegoryList, ElementName=MachiningCombo}">
|
||||
ItemsSource="{Binding SelectedItem.CathegoryList, ElementName=MachiningCombo}"
|
||||
IsEnabled="{Binding IsEnabled}">
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<StackPanel Orientation="Vertical"/>
|
||||
@@ -68,8 +91,7 @@
|
||||
<ItemsControl ItemsSource="{Binding MachiningParamList}">
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<UniformGrid Columns="1"
|
||||
HorizontalAlignment="Stretch"/>
|
||||
<StackPanel Orientation="Vertical"/>
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.Resources>
|
||||
@@ -163,6 +185,36 @@
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>-->
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type PrintApp:OrderedMachiningParam}">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Text="{Binding sName}"/>
|
||||
<StackPanel Grid.Column="1"
|
||||
Orientation="Horizontal"
|
||||
HorizontalAlignment="Right">
|
||||
<Button Content="<>"
|
||||
Command="{Binding ResetOrder_Command}"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>
|
||||
<Button Content="˄"
|
||||
Command="{Binding MoveUpOrder_Command}"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>
|
||||
<Button Content="˅"
|
||||
Command="{Binding MoveDownOrder_Command}"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>
|
||||
</StackPanel>
|
||||
<ListBox Grid.ColumnSpan="2"
|
||||
Grid.Row="1"
|
||||
ItemsSource="{Binding ValueList}"
|
||||
SelectedItem="{Binding SelValue}"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</ItemsControl.Resources>
|
||||
</ItemsControl>
|
||||
</Expander>
|
||||
@@ -173,6 +225,7 @@
|
||||
<UniformGrid Grid.Row="4" Rows="1">
|
||||
<Button Content="Ok"
|
||||
Command="{Binding Ok_Command}"
|
||||
IsEnabled="{Binding IsEnabled}"
|
||||
Style="{StaticResource ToolBar_TextButton}"/>
|
||||
</UniformGrid>
|
||||
</Grid>
|
||||
|
||||
@@ -26,7 +26,7 @@ Public Class MachiningDbVM
|
||||
' verifico se modificato
|
||||
If m_SelMachining.bIsModified Then
|
||||
' chiedo se salvare
|
||||
Select Case MessageBox.Show("Salvare le modifiche apportate alla lavorazione selezionata?", "Info", MessageBoxButton.YesNoCancel, MessageBoxImage.Question)
|
||||
Select Case MessageBox.Show("Do you want to save the modification done on the selected machining?", "Info", MessageBoxButton.YesNoCancel, MessageBoxImage.Question)
|
||||
Case MessageBoxResult.Yes
|
||||
m_SelMachining.Save()
|
||||
Case MessageBoxResult.No
|
||||
@@ -50,6 +50,7 @@ Public Class MachiningDbVM
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(ImpExp_IsEnabled))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -59,10 +60,13 @@ Public Class MachiningDbVM
|
||||
Return m_Name_Visibility
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetNameVisibility(bValue As Boolean)
|
||||
m_Name_Visibility = If(bValue, Visibility.Visible, Visibility.Collapsed)
|
||||
NotifyPropertyChanged(NameOf(Name_Visibility))
|
||||
End Sub
|
||||
|
||||
Private m_Combo_Visibility As Visibility = Visibility.Visible
|
||||
Public ReadOnly Property Combo_Visibility As Visibility
|
||||
Get
|
||||
Return m_Combo_Visibility
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' variabile che indica se una qualunque lavorazione e' stata modificata
|
||||
Private m_bIsModified As Boolean = False
|
||||
@@ -75,11 +79,47 @@ Public Class MachiningDbVM
|
||||
m_bIsModified = value
|
||||
End Sub
|
||||
|
||||
Private m_IsEnabled As Boolean = True
|
||||
Public ReadOnly Property IsEnabled As Boolean
|
||||
Get
|
||||
Return m_IsEnabled
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetIsEnabled(value As Boolean)
|
||||
m_IsEnabled = value
|
||||
NotifyPropertyChanged(NameOf(IsEnabled))
|
||||
End Sub
|
||||
|
||||
Private m_UserShouldEditValueNow As Boolean = False
|
||||
Public Property UserShouldEditValueNow As Boolean
|
||||
Get
|
||||
Return m_UserShouldEditValueNow
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_UserShouldEditValueNow = value
|
||||
End Set
|
||||
End Property
|
||||
Friend Sub SetUserShouldEditValueNow()
|
||||
m_UserShouldEditValueNow = True
|
||||
NotifyPropertyChanged(NameOf(UserShouldEditValueNow))
|
||||
m_UserShouldEditValueNow = False
|
||||
NotifyPropertyChanged(NameOf(UserShouldEditValueNow))
|
||||
End Sub
|
||||
|
||||
Public ReadOnly Property ImpExp_IsEnabled As Boolean
|
||||
Get
|
||||
Return m_IsEnabled AndAlso (IsNothing(m_SelMachining) OrElse Not m_SelMachining.bIsModified)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdOk As ICommand
|
||||
Private m_cmdNew As ICommand
|
||||
Private m_cmdSave As ICommand
|
||||
Private m_cmdDelete As ICommand
|
||||
Private m_cmdEditName As ICommand
|
||||
Private m_cmdImport As ICommand
|
||||
Private m_cmdExport As ICommand
|
||||
|
||||
#End Region ' FIELDS & PROPERTIES
|
||||
|
||||
@@ -107,6 +147,15 @@ Public Class MachiningDbVM
|
||||
GetMainPrivateProfileString(S_PRINTING3D, K_CURRMACHINING, "", sCurrMachining)
|
||||
m_SelMachining = MachiningList.FirstOrDefault(Function(x) x.sGUID = sCurrMachining)
|
||||
NotifyPropertyChanged(NameOf(SelMachining))
|
||||
NotifyPropertyChanged(NameOf(ImpExp_IsEnabled))
|
||||
End Sub
|
||||
|
||||
Friend Sub SetNameVisibility(bValue As Boolean)
|
||||
m_Name_Visibility = If(bValue, Visibility.Visible, Visibility.Collapsed)
|
||||
m_Combo_Visibility = If(Not bValue, Visibility.Visible, Visibility.Collapsed)
|
||||
NotifyPropertyChanged(NameOf(Name_Visibility))
|
||||
NotifyPropertyChanged(NameOf(Combo_Visibility))
|
||||
If bValue Then SetUserShouldEditValueNow()
|
||||
End Sub
|
||||
|
||||
#End Region ' METHODS
|
||||
@@ -125,7 +174,7 @@ Public Class MachiningDbVM
|
||||
End Property
|
||||
|
||||
Public Sub Ok()
|
||||
If m_SelMachining.bIsModified Then
|
||||
If Not IsNothing(m_SelMachining) AndAlso m_SelMachining.bIsModified Then
|
||||
' chiedo se salvare
|
||||
Select Case MessageBox.Show("Do you want to save modified parameters?", "Warning", MessageBoxButton.YesNoCancel, MessageBoxImage.Warning)
|
||||
Case MessageBoxResult.Yes
|
||||
@@ -170,6 +219,11 @@ Public Class MachiningDbVM
|
||||
For Index = 0 To m_MachiningList.Count - 1
|
||||
m_MachiningList(Index).WriteParamsOnDb(Index + 1)
|
||||
Next
|
||||
m_bIsModified = False
|
||||
' aggiorno combo top
|
||||
Dim CurrSelTopMachining As MachiningIndex = Map.refTopPanelVM.SelMachining
|
||||
Map.refTopPanelVM.InitMachiningsList()
|
||||
Map.refTopPanelVM.SetSelMachining(CurrSelTopMachining)
|
||||
End If
|
||||
' ripristino modalita' standard
|
||||
Map.refTopPanelVM.SelPage = Pages.MODIFY
|
||||
@@ -195,6 +249,7 @@ Public Class MachiningDbVM
|
||||
m_SelMachining = NewMachining
|
||||
NotifyPropertyChanged(NameOf(SelMachining))
|
||||
SetNameVisibility(True)
|
||||
SetIsModified(True)
|
||||
End Sub
|
||||
|
||||
#End Region ' New
|
||||
@@ -211,7 +266,9 @@ Public Class MachiningDbVM
|
||||
End Property
|
||||
|
||||
Public Sub Save()
|
||||
If IsNothing(m_SelMachining) Then Return
|
||||
m_SelMachining.Save()
|
||||
NotifyPropertyChanged(NameOf(ImpExp_IsEnabled))
|
||||
End Sub
|
||||
|
||||
#End Region ' Save
|
||||
@@ -228,10 +285,12 @@ Public Class MachiningDbVM
|
||||
End Property
|
||||
|
||||
Public Sub Delete()
|
||||
If IsNothing(m_SelMachining) Then Return
|
||||
' chiedo conferma
|
||||
Select Case MessageBox.Show("Sei sicuro di voler cancellare la lavorazione selezionata?", "Warning", MessageBoxButton.YesNo, MessageBoxImage.Warning)
|
||||
Select Case MessageBox.Show("Are you sure you want to delete the selected machining?", "Warning", MessageBoxButton.YesNo, MessageBoxImage.Warning)
|
||||
Case MessageBoxResult.Yes
|
||||
m_MachiningList.Remove(m_SelMachining)
|
||||
SetIsModified(True)
|
||||
Case MessageBoxResult.No
|
||||
Return
|
||||
End Select
|
||||
@@ -239,6 +298,68 @@ Public Class MachiningDbVM
|
||||
|
||||
#End Region ' Delete
|
||||
|
||||
#Region "EditName"
|
||||
|
||||
Public ReadOnly Property EditName_Command As ICommand
|
||||
Get
|
||||
If m_cmdEditName Is Nothing Then
|
||||
m_cmdEditName = New Command(AddressOf EditName)
|
||||
End If
|
||||
Return m_cmdEditName
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub EditName()
|
||||
If IsNothing(m_SelMachining) Then Return
|
||||
SetNameVisibility(True)
|
||||
SetIsEnabled(False)
|
||||
End Sub
|
||||
|
||||
#End Region ' EditName
|
||||
|
||||
#Region "Import"
|
||||
|
||||
Public ReadOnly Property Import_Command As ICommand
|
||||
Get
|
||||
If m_cmdImport Is Nothing Then
|
||||
m_cmdImport = New Command(AddressOf Import)
|
||||
End If
|
||||
Return m_cmdImport
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub Import()
|
||||
' chiedo il nome del file .data da aprire
|
||||
Dim OpenFileDlg As New System.Windows.Forms.OpenFileDialog() With {
|
||||
.Title = EgtMsg(31451) & " " & EgtMsg(31452),
|
||||
.Filter = "File data (*.data)|*.data|Tutti i file (*.*)|*.*",
|
||||
.FileName = String.Empty
|
||||
}
|
||||
If OpenFileDlg.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then Return
|
||||
Dim ImportWindow As New ImportExportMachiningPanelV(Application.Current.MainWindow, New ImportExportMachiningPanelVM(OpenFileDlg.FileName))
|
||||
ImportWindow.ShowDialog()
|
||||
End Sub
|
||||
|
||||
#End Region ' Import
|
||||
|
||||
#Region "Export"
|
||||
|
||||
Public ReadOnly Property Export_Command As ICommand
|
||||
Get
|
||||
If m_cmdExport Is Nothing Then
|
||||
m_cmdExport = New Command(AddressOf Export)
|
||||
End If
|
||||
Return m_cmdExport
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub Export()
|
||||
Dim ExportWindow As New ImportExportMachiningPanelV(Application.Current.MainWindow, New ImportExportMachiningPanelVM)
|
||||
ExportWindow.ShowDialog()
|
||||
End Sub
|
||||
|
||||
#End Region ' Export
|
||||
|
||||
#End Region ' COMMANDS
|
||||
|
||||
End Class
|
||||
|
||||
@@ -195,8 +195,8 @@ Public Class MainWindowM
|
||||
' Verifico abilitazione nesting automatico
|
||||
m_bAutoNestOption = Not String.IsNullOrWhiteSpace(sNestKey)
|
||||
' Recupero livello e opzioni della chiave
|
||||
Dim bKey As Boolean = EgtGetKeyLevel(3279, 2405, 1, m_nKeyLevel) And
|
||||
EgtGetKeyOptions(3279, 2405, 1, m_nKeyOptions)
|
||||
Dim bKey As Boolean = EgtGetKeyLevel(5583, 2501, 1, m_nKeyLevel) And
|
||||
EgtGetKeyOptions(5583, 2501, 1, m_nKeyOptions)
|
||||
' Inizializzazione generale di EgtInterface
|
||||
m_nDebug = GetMainPrivateProfileInt(S_GENERAL, K_DEBUG, 0)
|
||||
m_sLogFile = m_sTempDir & "\" & GENLOG_FILE_NAME.Replace("#", m_nInstance.ToString())
|
||||
@@ -214,6 +214,8 @@ Public Class MainWindowM
|
||||
If GetMainPrivateProfileString(S_GENERAL, K_MESSAGESDIR, "", sMsgDir) = 0 Then
|
||||
sMsgDir = m_sConfigDir
|
||||
End If
|
||||
' Inizializzo OptionModule
|
||||
OptionModule.InitOptionModule()
|
||||
' Leggo lingua corrente
|
||||
Dim sLanguage As String = String.Empty
|
||||
GetMainPrivateProfileString(S_GENERAL, K_MESSAGES, "", sLanguage)
|
||||
|
||||
@@ -19,6 +19,7 @@ Class MainWindowV
|
||||
AddHandler Me.ContentRendered, AddressOf MainWindowV_ContentRendered
|
||||
AddHandler Me.Closing, AddressOf MainWindowV_Closing
|
||||
AddHandler Me.KeyDown, AddressOf MainWindowV_KeyDown
|
||||
AddHandler Me.StateChanged, AddressOf MainWindowV_StateChanged
|
||||
End Sub
|
||||
|
||||
#End Region ' CONSTRUCTOR
|
||||
@@ -63,6 +64,14 @@ Class MainWindowV
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub MainWindowV_StateChanged(sender As Object, e As EventArgs)
|
||||
If Not IsNothing(Map.refSecondaryWindowV) AndAlso Not Map.refSecondaryWindowV.WindowChangingState Then
|
||||
Map.refSecondaryWindowV.WindowState = Me.WindowState
|
||||
'Application.Current.MainWindow.Topmost = True
|
||||
'Application.Current.MainWindow.Topmost = False
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' EVENTS
|
||||
|
||||
End Class
|
||||
|
||||
@@ -285,7 +285,11 @@ Public Class MainWindowVM
|
||||
' Se non confermata chiusura, esco
|
||||
If Not bAllowClose Then Return
|
||||
' salvo modo di visualizzazione
|
||||
WriteMainPrivateProfileString(S_SCENE, K_SHOWMODE, EgtGetShowMode().ToString)
|
||||
WriteMainPrivateProfileString(S_SCENE, K_SHOWMODE, EgtGetShowMode().ToString())
|
||||
' Salvo stato visualizzazione direzione curve
|
||||
WriteMainPrivateProfileString(S_SCENE, K_CURVEDIR, If(EgtGetShowCurveDirection(), "1", "0"))
|
||||
' Salvo stato visualizzazione griglia
|
||||
WriteMainPrivateProfileString(S_GRID, K_SHOWGRID, If(Map.refMyStatusBarVM.bGridVisibility, "1", "0"))
|
||||
' Termino il Model
|
||||
m_MainWindowM.Close()
|
||||
' Termino il programma
|
||||
|
||||
@@ -0,0 +1,147 @@
|
||||
<UserControl x:Class="ManagePartPanelV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:Icarus"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
Width="150"
|
||||
Margin="5,0,0,0"
|
||||
VerticalAlignment="Stretch">
|
||||
<Grid DockPanel.Dock="Left">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="2*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Border Style="{StaticResource LeftPanelTitle_Border}">
|
||||
<TextBlock Text="Part Entity List"
|
||||
FontWeight="DemiBold"
|
||||
FontSize="14"/>
|
||||
</Border>
|
||||
<!--<UniformGrid Grid.Row="1" Rows="1"
|
||||
IsEnabled="{Binding IsEnabled}">
|
||||
<Button DockPanel.Dock="Left"
|
||||
Content="+"
|
||||
FontSize="20"
|
||||
Command="{Binding AddPart_Command}"
|
||||
Style="{StaticResource LeftPanel_Button}"/>
|
||||
<Button DockPanel.Dock="Left"
|
||||
Content="-"
|
||||
FontSize="20"
|
||||
Command="{Binding RemovePart_Command}"
|
||||
Style="{StaticResource LeftPanel_Button}"/>
|
||||
</UniformGrid>-->
|
||||
<TreeView Grid.Row="2"
|
||||
ItemsSource="{Binding ManagerPartList}"
|
||||
MinHeight="200"
|
||||
IsEnabled="{Binding IsEnabled}">
|
||||
<TreeView.Resources>
|
||||
<HierarchicalDataTemplate DataType="{x:Type local:ManagePart_Part}"
|
||||
ItemsSource="{Binding LayerList}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Image Source="/Resources/TreeView/Folder.png"
|
||||
Height="15"/>
|
||||
<Grid>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Visibility="{Binding TextBlock_Visibility}"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding sName, UpdateSourceTrigger=Explicit}"
|
||||
IsExplicitFocused="{Binding UserShouldEditValueNow}"
|
||||
Visibility="{Binding TextBox_Visibility}"
|
||||
Style="{StaticResource OptionTextBox}"/>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</HierarchicalDataTemplate>
|
||||
<HierarchicalDataTemplate DataType="{x:Type local:ManagePart_Layer}"
|
||||
ItemsSource="{Binding EntityList, UpdateSourceTrigger=PropertyChanged}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Image Source="/Resources/TreeView/Folder.png"
|
||||
Height="15"/>
|
||||
<TextBlock Text="{Binding sName}" />
|
||||
</StackPanel>
|
||||
</HierarchicalDataTemplate>
|
||||
<HierarchicalDataTemplate DataType="{x:Type local:PartManager_GeomEntity}">
|
||||
<Grid>
|
||||
<TextBlock Text="{Binding sName}" />
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding sName, UpdateSourceTrigger=Explicit}"
|
||||
IsExplicitFocused="{Binding UserShouldEditValueNow}"
|
||||
Visibility="{Binding TextBox_Visibility}"
|
||||
Style="{StaticResource OptionTextBox}"/>
|
||||
</Grid>
|
||||
</HierarchicalDataTemplate>
|
||||
<!-- Menu' tasto destro -->
|
||||
<ContextMenu x:Key="RowMenu" ItemsSource="{Binding MenuList}" >
|
||||
<ContextMenu.ItemContainerStyle>
|
||||
<Style TargetType="MenuItem">
|
||||
<Setter Property="Command" Value="{Binding MenuItem_Command}"/>
|
||||
<Setter Property="Header" Value="{Binding sMsg}"/>
|
||||
</Style>
|
||||
</ContextMenu.ItemContainerStyle>
|
||||
</ContextMenu>
|
||||
</TreeView.Resources>
|
||||
<TreeView.ItemContainerStyle>
|
||||
<Style TargetType="{x:Type TreeViewItem}">
|
||||
<Setter Property="IsSelected" Value="{Binding bIsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
<Setter Property="IsExpanded" Value="True"/>
|
||||
<Setter Property="ContextMenu" Value="{StaticResource RowMenu}"/>
|
||||
<EventSetter Event="ContextMenuOpening" Handler="Item_ContextMenuOpening"/>
|
||||
</Style>
|
||||
</TreeView.ItemContainerStyle>
|
||||
</TreeView>
|
||||
<Border Grid.Row="3"
|
||||
Visibility="{Binding IsImport_Visibility}"
|
||||
Style="{StaticResource LeftPanelTitle_Border}">
|
||||
<TextBlock Text="Imported Entity List"
|
||||
FontWeight="DemiBold"
|
||||
FontSize="14"/>
|
||||
</Border>
|
||||
<ListBox Grid.Row="4"
|
||||
ItemsSource="{Binding ImportedEntityList, UpdateSourceTrigger=PropertyChanged}"
|
||||
SelectedItem="{Binding SelImportedEntity}"
|
||||
MinHeight="100"
|
||||
IsEnabled="{Binding IsEnabled}"
|
||||
Visibility="{Binding IsImport_Visibility}">
|
||||
<ListBox.Resources>
|
||||
<!-- Menu' tasto destro -->
|
||||
<ContextMenu x:Key="RowMenu" ItemsSource="{Binding MenuList}" >
|
||||
<ContextMenu.ItemContainerStyle>
|
||||
<Style TargetType="MenuItem">
|
||||
<Setter Property="Command" Value="{Binding MenuItem_Command}"/>
|
||||
<Setter Property="Header" Value="{Binding sMsg}"/>
|
||||
</Style>
|
||||
</ContextMenu.ItemContainerStyle>
|
||||
</ContextMenu>
|
||||
</ListBox.Resources>
|
||||
<ListBox.ItemContainerStyle>
|
||||
<Style TargetType="ListBoxItem">
|
||||
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
|
||||
<Setter Property="ContextMenu" Value="{StaticResource RowMenu}" />
|
||||
</Style>
|
||||
</ListBox.ItemContainerStyle>
|
||||
<ListBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<Grid HorizontalAlignment="Stretch">
|
||||
<Grid.InputBindings>
|
||||
<MouseBinding Gesture="LeftDoubleClick"
|
||||
Command="{Binding GeomEntityDoubleClick_Command}"/>
|
||||
</Grid.InputBindings>
|
||||
<TextBlock Text="{Binding ghName}">
|
||||
</TextBlock>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</ListBox.ItemTemplate>
|
||||
</ListBox>
|
||||
<UniformGrid Grid.Row="5"
|
||||
Rows="1"
|
||||
IsEnabled="{Binding IsEnabled}">
|
||||
<Button Content="Ok"
|
||||
Command="{Binding Ok_Command}"
|
||||
Style="{StaticResource ToolBar_TextButton}"/>
|
||||
<Button Content="Cancel"
|
||||
Command="{Binding Cancel_Command}"
|
||||
Visibility="{Binding IsImport_Visibility}"
|
||||
Style="{StaticResource ToolBar_TextButton}"/>
|
||||
</UniformGrid>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
@@ -0,0 +1,26 @@
|
||||
Public Class ManagePartPanelV
|
||||
|
||||
Protected Sub Item_ContextMenuOpening(sender As Object, e As ContextMenuEventArgs)
|
||||
Dim PartItem As ManagePart_Part
|
||||
Dim LayerItem As ManagePart_Layer
|
||||
Dim EntityItem As PartManager_GeomEntity
|
||||
Select Case e.OriginalSource.DataContext.GetType()
|
||||
Case GetType(ManagePart_Part)
|
||||
PartItem = DirectCast(e.OriginalSource.DataContext, ManagePart_Part)
|
||||
If PartItem.MenuList.Count = 0 Then
|
||||
e.Handled = True
|
||||
End If
|
||||
Case GetType(ManagePart_Layer)
|
||||
LayerItem = DirectCast(e.OriginalSource.DataContext, ManagePart_Layer)
|
||||
If LayerItem.Type <> ManagePart_Layer.LayerType.PRINT_SOLID OrElse LayerItem.MenuList.Count = 0 Then
|
||||
e.Handled = True
|
||||
End If
|
||||
Case GetType(PartManager_GeomEntity)
|
||||
EntityItem = DirectCast(e.OriginalSource.DataContext, PartManager_GeomEntity)
|
||||
If EntityItem.MenuList.Count = 0 Then
|
||||
e.Handled = True
|
||||
End If
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,514 @@
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
|
||||
Public Class ManagePartPanelVM
|
||||
Inherits VMBase
|
||||
|
||||
Public Enum ManagePartType
|
||||
IMPORT = 1
|
||||
MODIFY = 2
|
||||
End Enum
|
||||
|
||||
Private m_Type As ManagePartType
|
||||
Friend ReadOnly Property Type As ManagePartType
|
||||
Get
|
||||
Return m_Type
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_nImportedPartId As Integer = GDB_ID.NULL
|
||||
Friend ReadOnly Property nImportedPartId As Integer
|
||||
Get
|
||||
Return m_nImportedPartId
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_ImportedEntityList As New ObservableCollection(Of PartManager_GeomEntity)
|
||||
Public Property ImportedEntityList As ObservableCollection(Of PartManager_GeomEntity)
|
||||
Get
|
||||
Return m_ImportedEntityList
|
||||
End Get
|
||||
Set(value As ObservableCollection(Of PartManager_GeomEntity))
|
||||
m_ImportedEntityList = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_SelImportedEntity As PartManager_GeomEntity
|
||||
Public Property SelImportedEntity As PartManager_GeomEntity
|
||||
Get
|
||||
Return m_SelImportedEntity
|
||||
End Get
|
||||
Set(value As PartManager_GeomEntity)
|
||||
m_SelImportedEntity = value
|
||||
EgtDeselectAll()
|
||||
If Not IsNothing(m_SelImportedEntity) Then
|
||||
EgtSelectObj(m_SelImportedEntity.nId)
|
||||
End If
|
||||
EgtDraw()
|
||||
End Set
|
||||
End Property
|
||||
Friend Sub SetSelImportedEntity(nId As Integer)
|
||||
Dim SelEntity As PartManager_GeomEntity = Nothing
|
||||
' cerco tra entita' importate
|
||||
SelEntity = m_ImportedEntityList.FirstOrDefault(Function(x) x.nId = nId)
|
||||
If IsNothing(SelEntity) Then
|
||||
' cerco tra pezzi creati
|
||||
For Each ManagePart In m_ManagerPartList
|
||||
For Each Layer In ManagePart.LayerList
|
||||
SelEntity = Layer.EntityList.FirstOrDefault(Function(x) x.nId = nId)
|
||||
If Not IsNothing(SelEntity) Then
|
||||
SelEntity.bIsSelected = True
|
||||
SelEntity.NotifyPropertyChanged(NameOf(SelEntity.bIsSelected))
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
If Not IsNothing(SelEntity) Then
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
m_SelImportedEntity = SelEntity
|
||||
EgtDeselectAll()
|
||||
If Not IsNothing(m_SelImportedEntity) Then
|
||||
EgtSelectObj(m_SelImportedEntity.nId)
|
||||
End If
|
||||
EgtDraw()
|
||||
NotifyPropertyChanged(NameOf(SelImportedEntity))
|
||||
End Sub
|
||||
|
||||
Private m_ManagerPartList As New ObservableCollection(Of ManagePart_Part)
|
||||
Public ReadOnly Property ManagerPartList As ObservableCollection(Of ManagePart_Part)
|
||||
Get
|
||||
Return m_ManagerPartList
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_SelManagerPart As ManagePart_Part
|
||||
Friend Sub SetSelManagerPart(SelManagePart_Part As ManagePart_Part)
|
||||
m_SelManagerPart = SelManagePart_Part
|
||||
m_SelManagerLayer = Nothing
|
||||
End Sub
|
||||
Public ReadOnly Property SelManagerPart As ManagePart_Part
|
||||
Get
|
||||
Return m_SelManagerPart
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_SelManagerLayer As ManagePart_Layer
|
||||
Public ReadOnly Property SelManagerLayer As ManagePart_Layer
|
||||
Get
|
||||
Return m_SelManagerLayer
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetSelManagerLayer(SelManagePart_Layer As ManagePart_Layer)
|
||||
m_SelManagerPart = m_ManagerPartList.FirstOrDefault(Function(x) x.LayerList.Contains(SelManagePart_Layer))
|
||||
m_SelManagerLayer = SelManagePart_Layer
|
||||
End Sub
|
||||
|
||||
Private m_SelPartManager_GeomEntity As PartManager_GeomEntity
|
||||
Public ReadOnly Property SelPartManager_GeomEntity As PartManager_GeomEntity
|
||||
Get
|
||||
Return m_SelPartManager_GeomEntity
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetSelPartManager_GeomEntity(SelPartManager_GeomEntity As PartManager_GeomEntity)
|
||||
For Each CurrPart In m_ManagerPartList
|
||||
Dim CurrLayer As ManagePart_Layer = CurrPart.LayerList.FirstOrDefault(Function(x) x.EntityList.Contains(SelPartManager_GeomEntity))
|
||||
If Not IsNothing(CurrLayer) Then
|
||||
m_SelManagerPart = CurrPart
|
||||
m_SelManagerLayer = CurrLayer
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
m_SelPartManager_GeomEntity = SelPartManager_GeomEntity
|
||||
End Sub
|
||||
|
||||
Public ReadOnly Property IsImport_Visibility As Visibility
|
||||
Get
|
||||
Select Case m_Type
|
||||
Case ManagePartType.IMPORT
|
||||
Return Visibility.Visible
|
||||
Case Else ' ManagePartType.MODIFY
|
||||
Return Visibility.Collapsed
|
||||
End Select
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_IsEnabled As Boolean = True
|
||||
Public ReadOnly Property IsEnabled As Boolean
|
||||
Get
|
||||
Return m_IsEnabled
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetIsEnabled(value As Boolean)
|
||||
m_IsEnabled = value
|
||||
NotifyPropertyChanged(NameOf(IsEnabled))
|
||||
End Sub
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdSetReference As ICommand
|
||||
Private m_cmdAddPart As ICommand
|
||||
Private m_cmdRemovePart As ICommand
|
||||
Private m_cmdOk As ICommand
|
||||
Private m_cmdCancel As ICommand
|
||||
|
||||
Sub New()
|
||||
' Creo riferimento a questa classe in EgtCAM5Map
|
||||
Map.SetRefManagePartPanelVM(Me)
|
||||
End Sub
|
||||
|
||||
#Region "METHODS"
|
||||
|
||||
Friend Sub Init(Type As ManagePartType)
|
||||
m_Type = Type
|
||||
Select Case Type
|
||||
Case ManagePartType.IMPORT
|
||||
' import
|
||||
m_ImportedEntityList.Clear()
|
||||
m_ManagerPartList.Clear()
|
||||
' aggiungo geometrie importate a lista
|
||||
m_nImportedPartId = EgtGetLastPart()
|
||||
Dim nLayerId As Integer = EgtGetFirstLayer(m_nImportedPartId)
|
||||
Dim nGeometryId As Integer = EgtGetFirstInGroup(nLayerId)
|
||||
While nGeometryId <> GDB_ID.NULL
|
||||
Dim sGeometryName As String = ""
|
||||
EgtGetName(nGeometryId, sGeometryName)
|
||||
m_ImportedEntityList.Add(New PartManager_GeomEntity(Nothing, nGeometryId))
|
||||
nGeometryId = EgtGetNext(nGeometryId)
|
||||
End While
|
||||
' aggiungo primo pezzo
|
||||
m_ManagerPartList.Add(New ManagePart_Part(Nothing))
|
||||
m_ManagerPartList(0).LayerList.FirstOrDefault(Function(x) x.Type = ManagePart_Layer.LayerType.PRINT_SOLID).bIsSelected = True
|
||||
' aggiorno i contextmenu di tutti gli entity
|
||||
UpdateAllEntityContextMenu()
|
||||
Case ManagePartType.MODIFY
|
||||
' modify
|
||||
m_ImportedEntityList.Clear()
|
||||
m_ManagerPartList.Clear()
|
||||
' carico pezzi in lista
|
||||
For Each PrintPart In Map.refTopPanelVM.PartList
|
||||
m_ManagerPartList.Add(New ManagePart_Part(PrintPart))
|
||||
Next
|
||||
End Select
|
||||
NotifyPropertyChanged(NameOf(IsImport_Visibility))
|
||||
EgtDeselectAll()
|
||||
End Sub
|
||||
|
||||
Friend Sub UpdateAllEntityContextMenu()
|
||||
' aggiorno i contextmenu di tutti gli entity
|
||||
For Each ManagePart In m_ManagerPartList
|
||||
For Each Layer In ManagePart.LayerList
|
||||
For Each Entity In Layer.EntityList
|
||||
Entity.UpdateContextMenu()
|
||||
Next
|
||||
Next
|
||||
Next
|
||||
For Each Entity In ImportedEntityList
|
||||
Entity.UpdateContextMenu()
|
||||
Next
|
||||
End Sub
|
||||
|
||||
#End Region ' METHODS
|
||||
|
||||
#Region "COMMANDS"
|
||||
|
||||
#Region "AddPart"
|
||||
|
||||
Public ReadOnly Property AddPart_Command As ICommand
|
||||
Get
|
||||
If m_cmdAddPart Is Nothing Then
|
||||
m_cmdAddPart = New Command(AddressOf AddPart)
|
||||
End If
|
||||
Return m_cmdAddPart
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub AddPart()
|
||||
m_ManagerPartList.Add(New ManagePart_Part(Nothing))
|
||||
' aggiorno i contextmenu di tutti gli entity
|
||||
UpdateAllEntityContextMenu()
|
||||
End Sub
|
||||
|
||||
#End Region ' AddPart
|
||||
|
||||
#Region "RemovePart"
|
||||
|
||||
Public ReadOnly Property RemovePart_Command As ICommand
|
||||
Get
|
||||
If m_cmdRemovePart Is Nothing Then
|
||||
m_cmdRemovePart = New Command(AddressOf RemovePart)
|
||||
End If
|
||||
Return m_cmdRemovePart
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub RemovePart()
|
||||
If IsNothing(SelManagerLayer) AndAlso m_ManagerPartList.Count > 1 Then
|
||||
' rimuovo pezzo
|
||||
m_ManagerPartList.Remove(SelManagerPart)
|
||||
'Else
|
||||
' ' rimuovo geometria
|
||||
' Dim CurrEntity As PartManager_GeomEntity = m_SelPartManager_GeomEntity
|
||||
' SelManagerLayer.EntityList.Remove(m_SelPartManager_GeomEntity)
|
||||
' ' la rimetto in lista importati
|
||||
' ImportedEntityList.Add(CurrEntity)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' RemovePart
|
||||
|
||||
#Region "Ok"
|
||||
|
||||
Public ReadOnly Property Ok_Command As ICommand
|
||||
Get
|
||||
If m_cmdOk Is Nothing Then
|
||||
m_cmdOk = New Command(AddressOf Ok)
|
||||
End If
|
||||
Return m_cmdOk
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub Ok()
|
||||
Select Case m_Type
|
||||
Case ManagePartType.IMPORT
|
||||
Dim sErr As New List(Of String)
|
||||
' verifico che tutti i pezzi abbiano una superficie da stampare nel layer apposito
|
||||
For Each CurrPart In m_ManagerPartList
|
||||
For Each CurrLayer In CurrPart.LayerList
|
||||
Select Case CurrLayer.Type
|
||||
Case ManagePart_Layer.LayerType.PRINT_SOLID
|
||||
If CurrLayer.EntityList.Count = 0 Then
|
||||
If sErr.Count > 0 Then sErr(sErr.Count - 1) &= Environment.NewLine
|
||||
sErr.Add(CurrPart.sName & " - No print surface defined!")
|
||||
End If
|
||||
End Select
|
||||
Next
|
||||
Next
|
||||
If sErr.Count > 0 Then
|
||||
MessageBox.Show(String.Concat(sErr), "Error")
|
||||
Return
|
||||
Else
|
||||
' Creo pezzi e layer necessari
|
||||
For ManagePart_PartIndex = 0 To m_ManagerPartList.Count - 1
|
||||
Dim ManagePart_Part As ManagePart_Part = m_ManagerPartList(ManagePart_PartIndex)
|
||||
Dim frImportedPart As New Frame3d
|
||||
EgtGetGroupGlobFrame(m_nImportedPartId, frImportedPart)
|
||||
Dim nPartId As Integer = EgtCreateGroup(GDB_ID.ROOT, frImportedPart)
|
||||
EgtSetName(nPartId, PART)
|
||||
Dim nFrameId As Integer = GDB_ID.NULL
|
||||
Dim b3PrintSolid As New BBox3d
|
||||
Dim nPrintPartLayerId As Integer = GDB_ID.NULL
|
||||
Dim PrintSolidEntity As PartManager_GeomEntity = Nothing
|
||||
Dim nRibsLayerId As Integer = GDB_ID.NULL
|
||||
Dim nShellNumberLayerId As Integer = GDB_ID.NULL
|
||||
Dim nAuxSolidsLayerId As Integer = GDB_ID.NULL
|
||||
Dim nMachStartLayerId As Integer = GDB_ID.NULL
|
||||
Dim nOthersLayerId As Integer = GDB_ID.NULL
|
||||
For Each ManagePart_Layer In ManagePart_Part.LayerList
|
||||
Select Case ManagePart_Layer.Type
|
||||
Case ManagePart_Layer.LayerType.PRINT_SOLID
|
||||
nPrintPartLayerId = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nPrintPartLayerId, PRINT_SOLID)
|
||||
EgtSetColor(nPrintPartLayerId, GeomEntityColors.c3Print)
|
||||
If ManagePart_Layer.EntityList.Count > 0 Then
|
||||
PrintSolidEntity = ManagePart_Layer.EntityList(0)
|
||||
EgtRelocateGlob(PrintSolidEntity.nId, nPrintPartLayerId, GDB_POS.LAST_SON)
|
||||
' calcolo box superficie per creazione riferimento
|
||||
EgtGetBBoxGlob(PrintSolidEntity.nId, GDB_BB.STANDARD, b3PrintSolid)
|
||||
' elimino colore entita'
|
||||
EgtResetColor(PrintSolidEntity.nId)
|
||||
If PrintSolidEntity.sName <> PrintSolidEntity.nId.ToString() Then
|
||||
EgtSetInfo(PrintSolidEntity.nId, ENTITY_NAME, PrintSolidEntity.sName)
|
||||
End If
|
||||
End If
|
||||
Case ManagePart_Layer.LayerType.MACH_START
|
||||
nMachStartLayerId = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nMachStartLayerId, LAY_MACH_START)
|
||||
EgtSetColor(nMachStartLayerId, GeomEntityColors.c3MachStart)
|
||||
Dim nMachStartId As Integer = GDB_ID.NULL
|
||||
If ManagePart_Layer.EntityList.Count > 0 Then
|
||||
For Each PartManager_GeomEntity In ManagePart_Layer.EntityList
|
||||
' se punto o curva compo
|
||||
Dim EntityType As GDB_TY = EgtGetType(PartManager_GeomEntity.nId)
|
||||
Select Case EntityType
|
||||
Case GDB_TY.GEO_POINT, GDB_TY.CRV_COMPO
|
||||
' gli cambio layer
|
||||
EgtRelocateGlob(PartManager_GeomEntity.nId, nMachStartLayerId, GDB_POS.LAST_SON)
|
||||
nMachStartId = PartManager_GeomEntity.nId
|
||||
Case GDB_TY.CRV_ARC, GDB_TY.CRV_BEZ, GDB_TY.CRV_LINE
|
||||
' altrimenti la trasformo in curva compo
|
||||
nMachStartId = EgtCreateCurveCompo(nMachStartLayerId, PartManager_GeomEntity.nId, True)
|
||||
End Select
|
||||
EgtSetName(nMachStartId, START_GEOM)
|
||||
' elimino colore entita'
|
||||
EgtResetColor(nMachStartId)
|
||||
If PartManager_GeomEntity.sName <> PartManager_GeomEntity.nId.ToString() Then
|
||||
EgtSetInfo(PartManager_GeomEntity.nId, ENTITY_NAME, PartManager_GeomEntity.sName)
|
||||
End If
|
||||
Next
|
||||
Else
|
||||
' creo punto di partenza
|
||||
Dim ptStart As Point3d = b3PrintSolid.Center() - 0.6 * b3PrintSolid.DimY() * Vector3d.Y_AX() - 0.5 * b3PrintSolid.DimZ() * Vector3d.Z_AX()
|
||||
nMachStartId = EgtCreateGeoPoint(nMachStartLayerId, ptStart, GDB_RT.GLOB)
|
||||
EgtSetName(nMachStartId, START_GEOM)
|
||||
' elimino colore entita'
|
||||
EgtResetColor(nMachStartId)
|
||||
End If
|
||||
Case ManagePart_Layer.LayerType.RIBS
|
||||
nRibsLayerId = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nRibsLayerId, LAY_RIBS)
|
||||
EgtSetColor(nRibsLayerId, GeomEntityColors.c3Rib)
|
||||
For Each PartManager_GeomEntity In ManagePart_Layer.EntityList
|
||||
EgtSetInfo(PartManager_GeomEntity.nId, KEY_RIB_TYPE, RibEntity.RibTypes.FROMIMPORT)
|
||||
EgtSetInfo(PartManager_GeomEntity.nId, RIB_ID, RibPanelVM.GetNextRibIndex())
|
||||
EgtRelocateGlob(PartManager_GeomEntity.nId, nRibsLayerId, GDB_POS.LAST_SON)
|
||||
' elimino colore entita'
|
||||
EgtResetColor(PartManager_GeomEntity.nId)
|
||||
If PartManager_GeomEntity.sName <> PartManager_GeomEntity.nId.ToString() Then
|
||||
EgtSetInfo(PartManager_GeomEntity.nId, ENTITY_NAME, PartManager_GeomEntity.sName)
|
||||
End If
|
||||
Next
|
||||
Case ManagePart_Layer.LayerType.SHELL_NUMBER
|
||||
nShellNumberLayerId = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nShellNumberLayerId, LAY_SHELL_NBR)
|
||||
EgtSetColor(nShellNumberLayerId, GeomEntityColors.c3ShellNumber)
|
||||
For Each PartManager_GeomEntity In ManagePart_Layer.EntityList
|
||||
EgtSetInfo(PartManager_GeomEntity.nId, KEY_SHELLNBR_TYPE, ShellNumberEntity.ShellNumberTypes.FROMIMPORT)
|
||||
EgtRelocateGlob(PartManager_GeomEntity.nId, nShellNumberLayerId, GDB_POS.LAST_SON)
|
||||
' elimino colore entita'
|
||||
EgtResetColor(PartManager_GeomEntity.nId)
|
||||
If PartManager_GeomEntity.sName <> PartManager_GeomEntity.nId.ToString() Then
|
||||
EgtSetInfo(PartManager_GeomEntity.nId, ENTITY_NAME, PartManager_GeomEntity.sName)
|
||||
End If
|
||||
Next
|
||||
Case ManagePart_Layer.LayerType.AUX_SOLIDS
|
||||
nAuxSolidsLayerId = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nAuxSolidsLayerId, LAY_AUX_SOLIDS)
|
||||
EgtSetColor(nAuxSolidsLayerId, GeomEntityColors.c3AuxSolids)
|
||||
For Each PartManager_GeomEntity In ManagePart_Layer.EntityList
|
||||
EgtSetInfo(PartManager_GeomEntity.nId, KEY_AUXSOLID_TYPE, RibEntity.RibTypes.FROMIMPORT)
|
||||
EgtRelocateGlob(PartManager_GeomEntity.nId, nAuxSolidsLayerId, GDB_POS.LAST_SON)
|
||||
' elimino colore entita'
|
||||
EgtResetColor(PartManager_GeomEntity.nId)
|
||||
If PartManager_GeomEntity.sName <> PartManager_GeomEntity.nId.ToString() Then
|
||||
EgtSetInfo(PartManager_GeomEntity.nId, ENTITY_NAME, PartManager_GeomEntity.sName)
|
||||
End If
|
||||
Next
|
||||
Case ManagePart_Layer.LayerType.OTHERS
|
||||
nOthersLayerId = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nOthersLayerId, LAY_OTHERS)
|
||||
EgtSetColor(nOthersLayerId, GeomEntityColors.c3Others)
|
||||
For Each PartManager_GeomEntity In ManagePart_Layer.EntityList
|
||||
EgtRelocateGlob(PartManager_GeomEntity.nId, nOthersLayerId, GDB_POS.LAST_SON)
|
||||
' elimino colore entita'
|
||||
EgtResetColor(PartManager_GeomEntity.nId)
|
||||
If PartManager_GeomEntity.sName <> PartManager_GeomEntity.nId.ToString() Then
|
||||
EgtSetInfo(PartManager_GeomEntity.nId, ENTITY_NAME, PartManager_GeomEntity.sName)
|
||||
End If
|
||||
Next
|
||||
If ManagePart_PartIndex = 0 Then
|
||||
For Each PartManager_GeomEntity In ImportedEntityList
|
||||
' se curva
|
||||
Dim EntityType As GDB_TY = EgtGetType(PartManager_GeomEntity.nId)
|
||||
Select Case EntityType
|
||||
Case GDB_TY.CRV_ARC, GDB_TY.CRV_BEZ, GDB_TY.CRV_LINE
|
||||
' la trasformo in curva compo
|
||||
Dim nOtherId As Integer = EgtCreateCurveCompo(nOthersLayerId, PartManager_GeomEntity.nId, True)
|
||||
' elimino colore entita'
|
||||
EgtResetColor(PartManager_GeomEntity.nId)
|
||||
If PartManager_GeomEntity.sName <> PartManager_GeomEntity.nId.ToString() Then
|
||||
EgtSetInfo(nOtherId, ENTITY_NAME, PartManager_GeomEntity.sName)
|
||||
End If
|
||||
Case Else
|
||||
' altrimenti la sposto solamente
|
||||
EgtRelocateGlob(PartManager_GeomEntity.nId, nOthersLayerId, GDB_POS.LAST_SON)
|
||||
' elimino colore entita'
|
||||
EgtResetColor(PartManager_GeomEntity.nId)
|
||||
If PartManager_GeomEntity.sName <> PartManager_GeomEntity.nId.ToString() Then
|
||||
EgtSetInfo(PartManager_GeomEntity.nId, ENTITY_NAME, PartManager_GeomEntity.sName)
|
||||
End If
|
||||
End Select
|
||||
Next
|
||||
End If
|
||||
End Select
|
||||
Next
|
||||
' aggiungo riferimento
|
||||
Dim nReferenceLayerId As Integer = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nReferenceLayerId, LAY_REFERENCE)
|
||||
' Creo riferimento
|
||||
Dim ptOrig As New Point3d(b3PrintSolid.Min())
|
||||
Dim frPrintSolid As New Frame3d(ptOrig)
|
||||
nFrameId = EgtCreateGeoFrame(nReferenceLayerId, frPrintSolid, GDB_RT.GLOB)
|
||||
If nFrameId Then
|
||||
EgtSetName(nFrameId, FRAME_PART)
|
||||
EgtSetMode(nFrameId, GDB_MD.LOCKED)
|
||||
End If
|
||||
EgtSetInfo(nReferenceLayerId, KEY_REFERENCE, ReferenceBtn.References.BL)
|
||||
' appoggio il pezzo sulla tavola
|
||||
EgtMove(nPartId, New Vector3d(0, 0, -b3PrintSolid.Min.z))
|
||||
' lo aggiungo a lista pezzi
|
||||
Dim sFilePath As String = ""
|
||||
EgtGetInfo(m_nImportedPartId, FILE_PATH, sFilePath)
|
||||
EgtSetInfo(nPartId, FILE_PATH, sFilePath)
|
||||
EgtSetInfo(nPartId, PART_NAME, ManagePart_Part.sName)
|
||||
EgtSetInfo(nPartId, "PartOnTable", 1)
|
||||
Dim NewPart As New Print3dPartVM(nPartId, nPrintPartLayerId, nReferenceLayerId, nFrameId, nMachStartLayerId, nRibsLayerId, nShellNumberLayerId, nAuxSolidsLayerId, nOthersLayerId, sFilePath)
|
||||
Map.refTopPanelVM.PartList.Add(NewPart)
|
||||
Next
|
||||
End If
|
||||
'EgtAddMachGroup("3dPrint")
|
||||
'EgtSetTable("Tab")
|
||||
|
||||
'Dim nRawId As Integer = EgtAddRawPart(b3PrintSolid.Min, b3PrintSolid.DimX, b3PrintSolid.DimY, b3PrintSolid.DimZ, New Color3d(128, 128, 128, 30))
|
||||
'EgtAddPartToRawPart(nPartId, b3PrintSolid.Min, nRawId)
|
||||
'EgtMoveToCornerRawPart(nRawId, New Point3d(dPosX, dPosY, 0), MCH_CR.BL)
|
||||
|
||||
'EgtResetCurrMachGroup()
|
||||
|
||||
' seleziono ultimo pezzo aggiunto
|
||||
Map.refTopPanelVM.SelLastPart()
|
||||
' elimino vecchio pezzo d'importazione
|
||||
EgtErase(m_nImportedPartId)
|
||||
|
||||
Case ManagePartType.MODIFY
|
||||
' nulla da fare
|
||||
End Select
|
||||
EgtDeselectAll()
|
||||
EgtDraw()
|
||||
' ripristino modalita' standard
|
||||
Map.refTopPanelVM.SelPage = Pages.MODIFY
|
||||
End Sub
|
||||
|
||||
#End Region ' Ok
|
||||
|
||||
#Region "Cancel"
|
||||
|
||||
Public ReadOnly Property Cancel_Command As ICommand
|
||||
Get
|
||||
If m_cmdCancel Is Nothing Then
|
||||
m_cmdCancel = New Command(AddressOf Cancel)
|
||||
End If
|
||||
Return m_cmdCancel
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub Cancel()
|
||||
' elimino pezzo importato
|
||||
EgtErase(m_nImportedPartId)
|
||||
EgtDeselectAll()
|
||||
EgtDraw()
|
||||
' se ci sono pezzi
|
||||
If Map.refTopPanelVM.PartList.Count > 0 Then
|
||||
' ripristino modalita' standard
|
||||
Map.refTopPanelVM.SelPage = Pages.MODIFY
|
||||
Else
|
||||
Map.refTopPanelVM.SelPage = Pages.NULL
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' Cancel
|
||||
|
||||
#End Region ' COMMANDS
|
||||
|
||||
End Class
|
||||
@@ -56,97 +56,6 @@ Public Class Material
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_dK As Double
|
||||
Public ReadOnly Property dK As Double
|
||||
Get
|
||||
Return m_dK
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_dC1 As Double
|
||||
Public ReadOnly Property dC1 As Double
|
||||
Get
|
||||
Return m_dC1
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_dC2 As Double
|
||||
Public ReadOnly Property dC2 As Double
|
||||
Get
|
||||
Return m_dC2
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_dDensity As Double
|
||||
Public ReadOnly Property dDensity As Double
|
||||
Get
|
||||
Return m_dDensity
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_dAMax As Double
|
||||
Public ReadOnly Property dAMax As Double
|
||||
Get
|
||||
Return m_dAMax
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_dATrg As Double
|
||||
Public ReadOnly Property dATrg As Double
|
||||
Get
|
||||
Return m_dATrg
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_dAMin As Double
|
||||
Public ReadOnly Property dAMin As Double
|
||||
Get
|
||||
Return m_dAMin
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_dBMax As Double
|
||||
Public ReadOnly Property dBMax As Double
|
||||
Get
|
||||
Return m_dBMax
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_dBTrg As Double
|
||||
Public ReadOnly Property dBTrg As Double
|
||||
Get
|
||||
Return m_dBTrg
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_dBMin As Double
|
||||
Public ReadOnly Property dBMin As Double
|
||||
Get
|
||||
Return m_dBMin
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_dKW As Double
|
||||
Friend ReadOnly Property dKW As Double
|
||||
Get
|
||||
Return m_dKW
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_dKZ As Double
|
||||
Friend ReadOnly Property dKZ As Double
|
||||
Get
|
||||
Return m_dKZ
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_dKN As Double
|
||||
Friend ReadOnly Property dKN As Double
|
||||
Get
|
||||
Return m_dKN
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' per lettura da file
|
||||
Sub New(nIndex As Integer)
|
||||
m_nIndex = nIndex
|
||||
@@ -184,27 +93,8 @@ Public Class Material
|
||||
m_bIsModified = True
|
||||
End Sub
|
||||
|
||||
Sub New(nIndex As Integer, sGUID As String, sName As String)
|
||||
m_nIndex = nIndex
|
||||
m_sName = sName
|
||||
m_sGUID = sGUID
|
||||
m_dK = ReadMaterialParamDouble(m_nIndex, MAT_K, 0)
|
||||
m_dC1 = ReadMaterialParamDouble(m_nIndex, MAT_C1, 0)
|
||||
m_dC2 = ReadMaterialParamDouble(m_nIndex, MAT_C2, 0)
|
||||
m_dDensity = ReadMaterialParamDouble(m_nIndex, MAT_DENSITY, 0)
|
||||
m_dAMax = ReadMaterialParamDouble(m_nIndex, MAT_AMAX, 0)
|
||||
m_dATrg = ReadMaterialParamDouble(m_nIndex, MAT_ATRG, 0)
|
||||
m_dAMin = ReadMaterialParamDouble(m_nIndex, MAT_AMIN, 0)
|
||||
m_dBMax = ReadMaterialParamDouble(m_nIndex, MAT_BMAX, 0)
|
||||
m_dBTrg = ReadMaterialParamDouble(m_nIndex, MAT_BTRG, 0)
|
||||
m_dBMin = ReadMaterialParamDouble(m_nIndex, MAT_BMIN, 0)
|
||||
m_dKW = ReadMaterialParamDouble(m_nIndex, MAT_KW, 0)
|
||||
m_dKZ = ReadMaterialParamDouble(m_nIndex, MAT_KZ, 0)
|
||||
m_dKN = ReadMaterialParamDouble(m_nIndex, MAT_KN, 0)
|
||||
End Sub
|
||||
|
||||
Private Sub ReadAllParams()
|
||||
'm_bSlicing45 = ReadMaterialParamDouble(m_nIndex, MAC_SLICING45, 0, CurrentMachine.sMachiningFilePath)
|
||||
'm_nSlicingType = ReadMaterialParamDouble(m_nIndex, MAC_SLICINGTYPE, 0, CurrentMachine.sMachiningFilePath)
|
||||
'm_dStrandH = ReadMaterialParamDouble(m_nIndex, MAC_STRANDH, 0, CurrentMachine.sMachiningFilePath)
|
||||
'm_dStrandW = ReadMaterialParamDouble(m_nIndex, MAC_STRANDW, 0, CurrentMachine.sMachiningFilePath)
|
||||
'm_nStrandCount = ReadMaterialParamDouble(m_nIndex, MAC_STRANDCOUNT, 0, CurrentMachine.sMachiningFilePath)
|
||||
@@ -323,6 +213,54 @@ Public Class MaterialIndex
|
||||
m_sName = sName
|
||||
End Sub
|
||||
|
||||
Friend Function GetSelMaterialData(Param As MaterialParam.Params) As Double
|
||||
Dim sParamKey As String = ""
|
||||
Dim dDefault As Double = 0
|
||||
Select Case Param
|
||||
Case MaterialParam.Params.T1
|
||||
sParamKey = MAT_T1
|
||||
Case MaterialParam.Params.T2
|
||||
sParamKey = MAT_T2
|
||||
Case MaterialParam.Params.T3
|
||||
sParamKey = MAT_T3
|
||||
Case MaterialParam.Params.T4
|
||||
sParamKey = MAT_T4
|
||||
Case MaterialParam.Params.T5
|
||||
sParamKey = MAT_T5
|
||||
Case MaterialParam.Params.K_EXTRUSION
|
||||
sParamKey = MAT_KEXTRUSION
|
||||
dDefault = 100
|
||||
Case MaterialParam.Params.K_LAY_TIME
|
||||
sParamKey = MAT_KLAYERTIME
|
||||
dDefault = 100
|
||||
Case MaterialParam.Params.C1
|
||||
sParamKey = MAT_C1
|
||||
Case MaterialParam.Params.C2
|
||||
sParamKey = MAT_C2
|
||||
Case MaterialParam.Params.DENSITY
|
||||
sParamKey = MAT_DENSITY
|
||||
Case MaterialParam.Params.AMAX
|
||||
sParamKey = MAT_AMAX
|
||||
Case MaterialParam.Params.ATRG
|
||||
sParamKey = MAT_ATRG
|
||||
Case MaterialParam.Params.AMIN
|
||||
sParamKey = MAT_AMIN
|
||||
Case MaterialParam.Params.BMAX
|
||||
sParamKey = MAT_BMAX
|
||||
Case MaterialParam.Params.BTRG
|
||||
sParamKey = MAT_BTRG
|
||||
Case MaterialParam.Params.BMIN
|
||||
sParamKey = MAT_BMIN
|
||||
Case MaterialParam.Params.KW
|
||||
sParamKey = MAT_KW
|
||||
Case MaterialParam.Params.KZ
|
||||
sParamKey = MAT_KZ
|
||||
Case MaterialParam.Params.KN
|
||||
sParamKey = MAT_KN
|
||||
End Select
|
||||
Return ReadMaterialParamDouble(m_nIndex, sParamKey, dDefault)
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
Public Class MaterialCathegory
|
||||
@@ -377,7 +315,8 @@ Public Class MaterialCathegory
|
||||
Select Case m_Type
|
||||
Case Cathegories.GENERAL
|
||||
m_sName = "General"
|
||||
m_MaterialParamList = New List(Of MaterialParam)({New NumericMaterialParam(MaterialParam.Params.K, nIndex),
|
||||
m_MaterialParamList = New List(Of MaterialParam)({New NumericMaterialParam(MaterialParam.Params.K_EXTRUSION, nIndex),
|
||||
New NumericMaterialParam(MaterialParam.Params.K_LAY_TIME, nIndex),
|
||||
New NumericMaterialParam(MaterialParam.Params.DENSITY, nIndex),
|
||||
New StringMaterialParam(MaterialParam.Params.ORIG, nIndex)})
|
||||
m_Cathegory_Visibility = Visibility.Visible
|
||||
@@ -437,20 +376,21 @@ Public MustInherit Class MaterialParam
|
||||
T3 = 5
|
||||
T4 = 6
|
||||
T5 = 7
|
||||
K = 8
|
||||
C1 = 9
|
||||
C2 = 10
|
||||
DENSITY = 11
|
||||
AMAX = 12
|
||||
ATRG = 13
|
||||
AMIN = 14
|
||||
BMAX = 15
|
||||
BTRG = 16
|
||||
BMIN = 17
|
||||
KW = 18
|
||||
KZ = 19
|
||||
KN = 20
|
||||
ORIG = 21
|
||||
K_EXTRUSION = 8
|
||||
K_LAY_TIME = 9
|
||||
C1 = 10
|
||||
C2 = 11
|
||||
DENSITY = 12
|
||||
AMAX = 13
|
||||
ATRG = 14
|
||||
AMIN = 15
|
||||
BMAX = 16
|
||||
BTRG = 17
|
||||
BMIN = 18
|
||||
KW = 19
|
||||
KZ = 20
|
||||
KN = 21
|
||||
ORIG = 22
|
||||
End Enum
|
||||
|
||||
Private m_Type As Params
|
||||
@@ -482,8 +422,10 @@ Public MustInherit Class MaterialParam
|
||||
m_sName = "Temperature 4"
|
||||
Case Params.T5
|
||||
m_sName = "Temperature 5"
|
||||
Case Params.K
|
||||
m_sName = "Constant"
|
||||
Case Params.K_EXTRUSION
|
||||
m_sName = "Flow Multiplier [%]"
|
||||
Case Params.K_LAY_TIME
|
||||
m_sName = "Layer Time Multiplier [%]"
|
||||
Case Params.C1
|
||||
m_sName = "C1"
|
||||
Case Params.C2
|
||||
@@ -571,8 +513,11 @@ Public Class NumericMaterialParam
|
||||
Case Params.T5
|
||||
m_dValue = ReadMaterialParamDouble(nIndex, MAT_T5, 0)
|
||||
m_bIsLen = False
|
||||
Case Params.K
|
||||
m_dValue = ReadMaterialParamDouble(nIndex, MAT_K, 0)
|
||||
Case Params.K_EXTRUSION
|
||||
m_dValue = ReadMaterialParamDouble(nIndex, MAT_KEXTRUSION, 100)
|
||||
m_bIsLen = False
|
||||
Case Params.K_LAY_TIME
|
||||
m_dValue = ReadMaterialParamDouble(nIndex, MAT_KLAYERTIME, 100)
|
||||
m_bIsLen = False
|
||||
Case Params.C1
|
||||
m_dValue = ReadMaterialParamDouble(nIndex, MAT_C1, 0)
|
||||
@@ -632,8 +577,10 @@ Public Class NumericMaterialParam
|
||||
WriteMaterialParam(nIndex, MAT_T4, sWriteValue)
|
||||
Case Params.T5
|
||||
WriteMaterialParam(nIndex, MAT_T5, sWriteValue)
|
||||
Case Params.K
|
||||
WriteMaterialParam(nIndex, MAT_K, sWriteValue)
|
||||
Case Params.K_EXTRUSION
|
||||
WriteMaterialParam(nIndex, MAT_KEXTRUSION, sWriteValue)
|
||||
Case Params.K_LAY_TIME
|
||||
WriteMaterialParam(nIndex, MAT_KLAYERTIME, sWriteValue)
|
||||
Case Params.C1
|
||||
WriteMaterialParam(nIndex, MAT_C1, sWriteValue)
|
||||
Case Params.C2
|
||||
@@ -674,6 +621,8 @@ End Class
|
||||
Public Class StringMaterialParam
|
||||
Inherits MaterialParam
|
||||
|
||||
Public Const DEFAULT_MATERIAL As String = "***"
|
||||
|
||||
Private m_sGUID As String
|
||||
Public Property sGUID As String
|
||||
Get
|
||||
@@ -715,10 +664,10 @@ Public Class StringMaterialParam
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_bIsReadOnly As Boolean = True
|
||||
Public ReadOnly Property bIsReadOnly As Boolean
|
||||
Private m_OrigButton_Visibility As Visibility = Visibility.Collapsed
|
||||
Public ReadOnly Property OrigButton_Visibility As Visibility
|
||||
Get
|
||||
Return m_bIsReadOnly
|
||||
Return m_OrigButton_Visibility
|
||||
End Get
|
||||
End Property
|
||||
|
||||
@@ -729,15 +678,18 @@ Public Class StringMaterialParam
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdOriginal As ICommand
|
||||
|
||||
Sub New(Type As Params, nIndex As Integer)
|
||||
MyBase.New(Type)
|
||||
Select Case Type
|
||||
Case Params.ORIG
|
||||
Dim sOrigGUID As String = ""
|
||||
ReadMaterialParamString(nIndex, MAT_ORIG, "", sOrigGUID)
|
||||
If sOrigGUID = "***" Then
|
||||
m_sGUID = sOrigGUID
|
||||
m_sValue = sOrigGUID
|
||||
If sOrigGUID = DEFAULT_MATERIAL Then
|
||||
m_sGUID = DEFAULT_MATERIAL
|
||||
m_sValue = DEFAULT_MATERIAL
|
||||
' se livello alto, lo visualizzo comunque
|
||||
If Map.refMainWindowVM.MainWindowM.nUserLevel >= 5 Then
|
||||
m_String_Visibility = Visibility.Visible
|
||||
@@ -757,7 +709,7 @@ Public Class StringMaterialParam
|
||||
End Select
|
||||
' verifico chiave per assegnare readonly
|
||||
If Map.refMainWindowVM.MainWindowM.nUserLevel >= 5 Then
|
||||
m_bIsReadOnly = False
|
||||
m_OrigButton_Visibility = Visibility.Visible
|
||||
End If
|
||||
m_sOrigValue = m_sValue
|
||||
End Sub
|
||||
@@ -777,6 +729,31 @@ Public Class StringMaterialParam
|
||||
m_sValue = m_sOrigValue
|
||||
End Sub
|
||||
|
||||
#Region "COMMANDS"
|
||||
|
||||
#Region "Original"
|
||||
|
||||
Public ReadOnly Property Original_Command As ICommand
|
||||
Get
|
||||
If m_cmdOriginal Is Nothing Then
|
||||
m_cmdOriginal = New Command(AddressOf Original)
|
||||
End If
|
||||
Return m_cmdOriginal
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub Original()
|
||||
If MessageBox.Show("Are you sure you want to set this material as original?", "Original material confirmation", MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then
|
||||
m_sGUID = DEFAULT_MATERIAL
|
||||
m_sValue = DEFAULT_MATERIAL
|
||||
NotifyPropertyChanged(NameOf(sValue))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' Original
|
||||
|
||||
#End Region ' COMMANDS
|
||||
|
||||
End Class
|
||||
|
||||
Public Class ComboMaterialParam
|
||||
@@ -871,16 +848,12 @@ Public Class CheckMaterialParam
|
||||
Sub New(Type As Params, nIndex As Integer)
|
||||
MyBase.New(Type)
|
||||
Select Case Type
|
||||
'Case Params.SLICING45
|
||||
' m_bValue = ReadMaterialParamDouble(nIndex, MAC_SLICING45, 0)
|
||||
End Select
|
||||
m_bOrigValue = m_bValue
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub WriteParamOnDb(nIndex As Integer)
|
||||
Select Case Type
|
||||
'Case Params.SLICING45
|
||||
' WriteMaterialParam(nIndex, MAC_SLICING45, If(m_bValue, 1, 0))
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -101,16 +101,15 @@
|
||||
<TextBlock Text="{Binding sName}"/>
|
||||
<TextBox Grid.Column="1"
|
||||
Text="{Binding sValue}"
|
||||
IsReadOnly="{Binding bIsReadOnly}"/>
|
||||
<!--<Button Grid.Column="2"
|
||||
Content="R"
|
||||
Command="{Binding ResetParam_Command}"
|
||||
CommandParameter="dCurrStrandH"
|
||||
IsEnabled="{Binding bCurrStrandH_IsModified}"
|
||||
IsReadOnly="True"/>
|
||||
<Button Grid.Column="2"
|
||||
Content="O"
|
||||
Command="{Binding Original_Command}"
|
||||
VerticalContentAlignment="Center"
|
||||
HorizontalContentAlignment="Center"
|
||||
Margin="5,0,0,0"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>-->
|
||||
Visibility="{Binding OrigButton_Visibility}"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type PrintApp:ComboMaterialParam}">
|
||||
|
||||
@@ -48,6 +48,9 @@ Public Class MaterialDbVM
|
||||
m_SelMaterial.CathegoryList(Index).Cathegory_IsExpanded = IsExpandedList(Index)
|
||||
Next
|
||||
End If
|
||||
' verifico abilitazione delete
|
||||
SetDeleteIsEnabled(Not SelMaterialIsOriginal())
|
||||
NotifyPropertyChanged(NameOf(Delete_IsEnabled))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -73,6 +76,21 @@ Public Class MaterialDbVM
|
||||
m_bIsModified = value
|
||||
End Sub
|
||||
|
||||
Private m_Delete_IsEnabled As Boolean = True
|
||||
Public ReadOnly Property Delete_IsEnabled As Boolean
|
||||
Get
|
||||
Return m_Delete_IsEnabled
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetDeleteIsEnabled(value As Boolean)
|
||||
If Map.refMainWindowVM.MainWindowM.nUserLevel >= 5 Then
|
||||
m_Delete_IsEnabled = True
|
||||
Else
|
||||
m_Delete_IsEnabled = value
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(Delete_IsEnabled))
|
||||
End Sub
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdOk As ICommand
|
||||
Private m_cmdCopy As ICommand
|
||||
@@ -104,9 +122,32 @@ Public Class MaterialDbVM
|
||||
Dim sCurrMaterial As String = ""
|
||||
GetMainPrivateProfileString(S_PRINTING3D, K_CURRMATERIAL, "", sCurrMaterial)
|
||||
m_SelMaterial = MaterialList.FirstOrDefault(Function(x) x.sGUID = sCurrMaterial)
|
||||
If IsNothing(m_SelMaterial) AndAlso m_MaterialList.Count > 0 Then
|
||||
m_SelMaterial = m_MaterialList(0)
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(SelMaterial))
|
||||
' verifico abilitazione delete
|
||||
If Not IsNothing(m_SelMaterial) Then
|
||||
SetDeleteIsEnabled(Not SelMaterialIsOriginal())
|
||||
NotifyPropertyChanged(NameOf(Delete_IsEnabled))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Function SelMaterialIsOriginal() As Boolean
|
||||
If IsNothing(m_SelMaterial) Then Return False
|
||||
' verifico abilitazione delete
|
||||
Dim General As MaterialCathegory = m_SelMaterial.CathegoryList.FirstOrDefault(Function(x) x.Type = MaterialCathegory.Cathegories.GENERAL)
|
||||
If Not IsNothing(General) Then
|
||||
Dim Original As MaterialParam = General.MaterialParamList.FirstOrDefault(Function(x) x.Type = MaterialParam.Params.ORIG)
|
||||
If Not IsNothing(Original) Then
|
||||
If DirectCast(Original, StringMaterialParam).sValue = StringMaterialParam.DEFAULT_MATERIAL Then
|
||||
Return True
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Return False
|
||||
End Function
|
||||
|
||||
#End Region ' METHODS
|
||||
|
||||
#Region "COMMANDS"
|
||||
@@ -181,6 +222,8 @@ Public Class MaterialDbVM
|
||||
Map.refTopPanelVM.SelMaterial = Nothing
|
||||
Map.refTopPanelVM.NotifyPropertyChanged(NameOf(Map.refTopPanelVM.SelMaterial))
|
||||
End If
|
||||
' ricarico lavorazioni per aggiorno liste materiali all'interno
|
||||
Map.refMachiningDbVM.Init()
|
||||
End If
|
||||
' ripristino modalita' standard
|
||||
Map.refTopPanelVM.SelPage = Pages.MODIFY
|
||||
@@ -248,8 +291,10 @@ Public Class MaterialDbVM
|
||||
End Property
|
||||
|
||||
Public Sub Delete()
|
||||
' se materiale originale, esco
|
||||
If SelMaterialIsOriginal() Then Return
|
||||
' chiedo conferma
|
||||
Select Case MessageBox.Show("Sei sicuro di voler cancellare la lavorazione selezionata?", "Warning", MessageBoxButton.YesNo, MessageBoxImage.Warning)
|
||||
Select Case MessageBox.Show("Are you sure you want to delete selected material?", "Warning", MessageBoxButton.YesNo, MessageBoxImage.Warning)
|
||||
Case MessageBoxResult.Yes
|
||||
m_MaterialList.Remove(m_SelMaterial)
|
||||
' segno Db come modificato
|
||||
|
||||
@@ -11,6 +11,7 @@ Imports System.Windows
|
||||
|
||||
' Review the values of the assembly attributes
|
||||
|
||||
#If PLATFORM = "x64" Then
|
||||
#If DEBUG Then
|
||||
<Assembly: AssemblyTitle("IcarusD64.exe")>
|
||||
<Assembly: AssemblyDescription("Icarus Debug 64 bit")>
|
||||
@@ -18,9 +19,18 @@ Imports System.Windows
|
||||
<Assembly: AssemblyTitle("IcarusR64.exe")>
|
||||
<Assembly: AssemblyDescription("Icarus 64 bit")>
|
||||
#End If
|
||||
#Else
|
||||
#If DEBUG Then
|
||||
<Assembly: AssemblyTitle("IcarusD32.exe")>
|
||||
<Assembly: AssemblyDescription("Icarus Debug 32 bit")>
|
||||
#Else
|
||||
<Assembly: AssemblyTitle("IcarusR32.exe")>
|
||||
<Assembly: AssemblyDescription("Icarus 32 bit")>
|
||||
#End If
|
||||
#End If
|
||||
<Assembly: AssemblyCompany("Egalware s.r.l.")>
|
||||
<Assembly: AssemblyProduct("Icarus")>
|
||||
<Assembly: AssemblyCopyright("Copyright © 2022 by Egalware s.r.l.")>
|
||||
<Assembly: AssemblyCopyright("Copyright © 2022-2023 by Egalware s.r.l.")>
|
||||
<Assembly: AssemblyTrademark("")>
|
||||
<Assembly: ComVisible(false)>
|
||||
|
||||
@@ -60,5 +70,5 @@ Imports System.Windows
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("2.4.10.1")>
|
||||
<Assembly: AssemblyFileVersion("2.4.10.1")>
|
||||
<Assembly: AssemblyVersion("2.5.1.1")>
|
||||
<Assembly: AssemblyFileVersion("2.5.1.1")>
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
<EgtWPFLib5:EgtCustomWindow x:Class="MachineBox"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
Height="160" Width="380" WindowStyle="None" ResizeMode="NoResize"
|
||||
TitleBarHeight="30" IsResizable="False" IsMinimizable="False"
|
||||
ShowInTaskbar="False" WindowStartupLocation="CenterOwner">
|
||||
|
||||
<Border BorderThickness="2" BorderBrush="LightBlue">
|
||||
<Grid >
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="0.25*"/>
|
||||
<ColumnDefinition Width="5*"/>
|
||||
<ColumnDefinition Width="0.25*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="0.25*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="0.25*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="0.25*"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<TextBlock Name="MessageLbl" Grid.Column="1" Grid.Row="1" HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center" />
|
||||
<UniformGrid Grid.Column="1" Grid.Row="3" Columns="3">
|
||||
<Button Name="ReplaceBtn" Height="26" Margin="0,0,5,0"/>
|
||||
<Button Name="UpdateBtn" Height="26" Margin="5,0,5,0"/>
|
||||
<Button Name="CancelBtn" IsDefault="True" Height="26" Margin="5,0,0,0"/>
|
||||
</UniformGrid>
|
||||
|
||||
</Grid>
|
||||
|
||||
</Border>
|
||||
|
||||
</EgtWPFLib5:EgtCustomWindow>
|
||||
@@ -0,0 +1,45 @@
|
||||
Imports EgtUILib
|
||||
|
||||
Public Class MachineBox
|
||||
|
||||
Public Shadows DialogResult As MessageBoxResult = MessageBoxResult.Cancel
|
||||
|
||||
Public Sub New( Owner As Window, sMachName As String)
|
||||
|
||||
InitializeComponent()
|
||||
|
||||
Me.Owner = Owner
|
||||
|
||||
Title = EgtMsg( 6534) ' Avviso
|
||||
|
||||
MessageLbl.Text = String.Format( EgtMsg( 6528), sMachName) ' La macchina "{0}" esiste già,<br/> cosa vuoi fare ?
|
||||
|
||||
ReplaceBtn.Content = EgtMsg( 6531) ' Sostituisci
|
||||
|
||||
UpdateBtn.Content = EgtMsg( 6532) ' Aggiorna
|
||||
|
||||
CancelBtn.Content = EgtMsg( 6533) ' Annulla
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ReplaceBtn_Click( sender As Object, e As RoutedEventArgs) Handles ReplaceBtn.Click
|
||||
DialogResult = MessageBoxResult.Yes
|
||||
Close()
|
||||
End Sub
|
||||
|
||||
Private Sub UpdateBtn_Click( sender As Object, e As RoutedEventArgs) Handles UpdateBtn.Click
|
||||
DialogResult = MessageBoxResult.No
|
||||
Close()
|
||||
End Sub
|
||||
|
||||
Private Sub CancelBtn_Click( sender As Object, e As RoutedEventArgs) Handles CancelBtn.Click
|
||||
DialogResult = MessageBoxResult.Cancel
|
||||
Close()
|
||||
End Sub
|
||||
|
||||
Public Overloads Function ShowDialog() As MessageBoxResult
|
||||
MyBase.ShowDialog()
|
||||
Return DialogResult
|
||||
End Function
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,113 @@
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
|
||||
Friend Module OptionModule
|
||||
|
||||
' Parametri che contengono lista delle lingue disponibili e lingua selezionata
|
||||
Friend m_LanguageList As New ObservableCollection(Of Language)
|
||||
Friend m_SelectedLanguage As Language
|
||||
' Colori di sfondo della vista e della griglia
|
||||
Friend m_TopSceneBackground As Color3d
|
||||
Friend m_BotSceneBackground As Color3d
|
||||
Friend m_GridColor As Color3d
|
||||
' Flag per visualizzazione spessa delle linee
|
||||
Friend m_bThickLine As Boolean
|
||||
' Flag per visualizzazione smussata delle superfici
|
||||
Friend m_bSmoothTriMesh As Boolean
|
||||
|
||||
' Colore di default in disegno
|
||||
Friend m_DefMaterialColor As Color3d
|
||||
' Tolleranza geometrica
|
||||
Friend m_dGeometryTolerance As Double
|
||||
|
||||
' Parametri per import
|
||||
Friend m_dDxfScaleFactor As Double
|
||||
Friend m_dStlScaleFactor As Double
|
||||
Friend m_dImgScaleFactor As Double
|
||||
|
||||
' Parametri per export
|
||||
Friend m_nExportDxfFlag As Integer
|
||||
Friend m_nImgWidth As Integer
|
||||
Friend m_nImgHeight As Integer
|
||||
|
||||
' Font di testo
|
||||
Friend m_sFontText As String
|
||||
|
||||
' Parametri per le quotature
|
||||
Friend m_dExtLineLen As Double
|
||||
Friend m_dArrowLen As Double
|
||||
Friend m_dTextDist As Double
|
||||
Friend m_nLenIsMM As Integer
|
||||
Friend m_nDecDigit As Integer
|
||||
Friend m_sFont As String
|
||||
Friend m_dTextHeight As Double
|
||||
|
||||
' Variabili che indicano per ogni tipo di lavorazione quale geometria è selezionabile
|
||||
'Friend m_SelGeomSawing As SceneSelModeOpt
|
||||
'Friend m_SelGeomDrilling As SceneSelModeOpt
|
||||
'Friend m_SelGeomMilling As SceneSelModeOpt
|
||||
'Friend m_SelGeomPocketing As SceneSelModeOpt
|
||||
'Friend m_SelGeomMortising As SceneSelModeOpt
|
||||
'Friend m_SelGeomSawRoughing As SceneSelModeOpt
|
||||
'Friend m_SelGeomSawFinishing As SceneSelModeOpt
|
||||
'Friend m_SelGeomGenMachining As SceneSelModeOpt
|
||||
'Friend m_SelGeomChiseling As SceneSelModeOpt
|
||||
'Friend m_SelGeomSurfFinishing As SceneSelModeOpt
|
||||
'Friend m_SelGeomWaterJetting As SceneSelModeOpt
|
||||
' Flag per aggiungere una nuova lavorazione alla fine della fase o subito dopo la lavorazione selezionata
|
||||
Friend m_bNewMachiningIsLastOne As Boolean
|
||||
' Variabile che indica se usare lo script per calcolare automaticamente la disposizione quando si passa in lavorazione
|
||||
Friend m_bUseDispositionScript As Boolean
|
||||
|
||||
' inizializzazione lettura variabili ad inizio programma
|
||||
Friend Sub InitOptionModule()
|
||||
' Leggo elenco lingue disponibili da file ini
|
||||
Dim nIndex As Integer = 1
|
||||
'Dim ReadLanguage As Language = GetPrivateProfileLanguage(S_LANGUAGES, K_LANGUAGE & nIndex)
|
||||
'While Not IsNothing(ReadLanguage)
|
||||
' OptionModule.m_LanguageList.Add(ReadLanguage)
|
||||
' nIndex += 1
|
||||
' ReadLanguage = GetPrivateProfileLanguage(S_LANGUAGES, K_LANGUAGE & nIndex)
|
||||
'End While
|
||||
'If nIndex = 1 Then
|
||||
' EgtOutLog("Error missing languages section in Config.ini")
|
||||
' MessageBox.Show( "Error : missing languages informations", "EgtCAM5", MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
' End
|
||||
'End If
|
||||
'' Inizializzo la lingua corrente
|
||||
'OptionModule.m_SelectedLanguage = OptionModule.m_LanguageList(0)
|
||||
'Dim sMsgName As String = String.Empty
|
||||
'GetPrivateProfileString(S_GENERAL, K_MESSAGES, "", sMsgName)
|
||||
'For Each Language In OptionModule.m_LanguageList
|
||||
' If Language.Name = sMsgName Then
|
||||
' OptionModule.m_SelectedLanguage = Language
|
||||
' Exit For
|
||||
' End If
|
||||
'Next
|
||||
' Inizializzo variabili colori di sfondo scena, griglia
|
||||
Dim BackTopColor As New Color3d(192, 192, 192)
|
||||
GetMainPrivateProfileColor(S_SCENE, K_BACKTOP, BackTopColor)
|
||||
m_TopSceneBackground = BackTopColor
|
||||
Dim BackBotColor As New Color3d(BackTopColor)
|
||||
GetMainPrivateProfileColor(S_SCENE, K_BACKBOTTOM, BackBotColor)
|
||||
m_BotSceneBackground = BackBotColor
|
||||
Dim GridColor As New Color3d(0, 0, 0)
|
||||
GetMainPrivateProfileColor(S_GRID, K_MINLNCOLOR, GridColor)
|
||||
m_GridColor = GridColor
|
||||
' Inizializzo flag linee ingrossate
|
||||
m_bThickLine = GetMainPrivateProfileInt(S_SCENE, K_LINEWIDTH, 1) <> 1
|
||||
' Inizializzo flag visualizzazione smussata delle superfici
|
||||
m_bSmoothTriMesh = GetMainPrivateProfileInt(S_SCENE, K_SHOWTRIAADV, 1) <> 0
|
||||
' Inizio colore di default in disegno
|
||||
Dim DefColor As New Color3d(0, 0, 0)
|
||||
GetMainPrivateProfileColor(S_GEOMDB, K_DEFAULTCOLOR, DefColor)
|
||||
m_DefMaterialColor = DefColor
|
||||
' Inizializzo tolleranza geometrica
|
||||
m_dGeometryTolerance = GetMainPrivateProfileDouble(S_GEOMDB, K_SURFTMTOLER, 0.05)
|
||||
' Inizializzo variabili per import
|
||||
m_dDxfScaleFactor = GetMainPrivateProfileDouble(S_IMPORT, K_DXFSCALE, 1)
|
||||
m_dStlScaleFactor = GetMainPrivateProfileDouble(S_IMPORT, K_STLSCALE, 1)
|
||||
End Sub
|
||||
|
||||
End Module
|
||||
@@ -0,0 +1,328 @@
|
||||
<EgtWPFLib5:EgtCustomWindow x:Class="OptionWindowV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:Icarus="clr-namespace:Icarus"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
|
||||
Title="{Binding Title}" Icon="/Resources/Icarus.ico"
|
||||
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
|
||||
IsMinimizable="False" WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
|
||||
MinWidth="400" MinHeight="382"
|
||||
Width="400" Height="412">
|
||||
|
||||
<!--<EgtWPFLib5:EgtCustomWindow.Resources>
|
||||
<local:GeomTypeConverter x:Key="GeomTypeConverter"/>
|
||||
</EgtWPFLib5:EgtCustomWindow.Resources>-->
|
||||
|
||||
<TabControl Margin="5,5,5,5">
|
||||
<TabItem Header="{Binding GenericMsg}">
|
||||
<StackPanel Margin="5,5,5,0">
|
||||
<!--<GroupBox Header="{Binding CurrentLanguageMsg}"
|
||||
Margin="0,0,0,5">
|
||||
<UniformGrid Rows="2" Margin="3,3,3,3">
|
||||
<ComboBox ItemsSource="{Binding LanguageList, Mode=OneWay}" Height="25"
|
||||
DisplayMemberPath="Name" SelectedItem="{Binding SelectedLanguage}"
|
||||
Margin="0,0,0,5"/>
|
||||
<TextBlock Text="{Binding LanguageAdvertMsg}" TextWrapping="Wrap"
|
||||
TextAlignment="Center"/>
|
||||
</UniformGrid>
|
||||
</GroupBox>-->
|
||||
<UniformGrid Columns="2"
|
||||
Margin="0,0,0,5">
|
||||
<TextBlock Text="{Binding TopSceneBackgroundMsg}" VerticalAlignment="Center"/>
|
||||
<Button Background="{Binding TopSceneBackground}"
|
||||
Command="{Binding TopSceneBackground_Command}"
|
||||
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2"
|
||||
Margin="0,0,0,5">
|
||||
<TextBlock Text="{Binding BotSceneBackgroundMsg}" VerticalAlignment="Center"/>
|
||||
<Button Background="{Binding BotSceneBackground}"
|
||||
Command="{Binding BotSceneBackground_Command}"
|
||||
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2"
|
||||
Margin="0,0,0,5">
|
||||
<TextBlock Text="{Binding GridColorMsg}" VerticalAlignment="Center"/>
|
||||
<Button Background="{Binding GridColor}"
|
||||
Command="{Binding GridColor_Command}"
|
||||
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||
</UniformGrid>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Text="{Binding ThickLineMsg}" VerticalAlignment="Center"
|
||||
Grid.Row="0" Margin="0,5,0,5"/>
|
||||
<CheckBox IsChecked="{Binding ThickLine}"
|
||||
Grid.Column="1" Grid.Row="0" Margin="22,5,0,5" VerticalAlignment="Center"/>
|
||||
<TextBlock Text="{Binding SmoothTriMeshMsg}" VerticalAlignment="Center"
|
||||
Grid.Row="1" Margin="0,5,0,5"/>
|
||||
<CheckBox IsChecked="{Binding SmoothTriMesh}"
|
||||
Grid.Column="1" Grid.Row="1" Margin="22,5,0,5" VerticalAlignment="Center"/>
|
||||
</Grid>
|
||||
<!--<UniformGrid Columns="2"
|
||||
Margin="0,0,0,5">
|
||||
<TextBlock Text="{Binding FontMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding FontList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedTextFont}" Height="25"
|
||||
Margin="10,5,0,0"/>
|
||||
</UniformGrid>-->
|
||||
<Grid Margin="5,5,5,5">
|
||||
<Button Content="{Binding UpdateLicenceMsg}" Command="{Binding UpdateLicence_Command}" Height="26" Margin="100,1"/>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</TabItem>
|
||||
<TabItem Header="{Binding CADMsg}">
|
||||
<StackPanel Margin="5,5,5,0">
|
||||
<UniformGrid Grid.ColumnSpan="2" Columns="2"
|
||||
Margin="0,0,0,5">
|
||||
<TextBlock Text="{Binding GeometryToleranceMsg}" VerticalAlignment="Center"/>
|
||||
<TextBox Text="{Binding GeometryTolerance}" Height="25"
|
||||
VerticalContentAlignment="Center"
|
||||
Margin="10,0,0,0"/>
|
||||
</UniformGrid>
|
||||
<ItemsControl ItemsSource="{Binding LayerColorList}">
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<UniformGrid Columns="2"
|
||||
Margin="0,0,0,5">
|
||||
<TextBlock Text="{Binding Color_Msg}" VerticalAlignment="Center"/>
|
||||
<Grid Margin="10,0,0,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="35"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Button Background="{Binding Background}"
|
||||
Command="{Binding Color_Command}"
|
||||
Margin="0,0,5,0"
|
||||
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||
<Slider Grid.Column="1"
|
||||
Value="{Binding dAlpha}"
|
||||
Minimum="10"
|
||||
Maximum="100"
|
||||
TickPlacement="BottomRight"
|
||||
TickFrequency="10"
|
||||
IsSnapToTickEnabled="True"
|
||||
Margin="0,0,5,0"/>
|
||||
<TextBlock Grid.Column="2"
|
||||
Text="{Binding sAlpha}"
|
||||
TextAlignment="Right"/>
|
||||
</Grid>
|
||||
</UniformGrid>
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ItemsControl>
|
||||
<!--<GroupBox Grid.Column="1" Grid.RowSpan="2"
|
||||
Header="{Binding DimensionMsg}"
|
||||
Margin="0,0,0,5">
|
||||
<UniformGrid Grid.ColumnSpan="2" Columns="2">
|
||||
<TextBlock Text="{Binding ExtLineLenMsg}" VerticalAlignment="Center"/>
|
||||
<TextBox Text="{Binding ExtLineLen}" Height="25"
|
||||
VerticalContentAlignment="Center"
|
||||
Margin="10,5,0,0"/>
|
||||
<TextBlock Text="{Binding ArrowLenMsg}" VerticalAlignment="Center"/>
|
||||
<TextBox Text="{Binding ArrowLen}" Height="25"
|
||||
VerticalContentAlignment="Center"
|
||||
Margin="10,5,0,0"/>
|
||||
<TextBlock Text="{Binding TextDistMsg}" VerticalAlignment="Center"/>
|
||||
<TextBox Text="{Binding TextDist}" Height="25"
|
||||
VerticalContentAlignment="Center"
|
||||
Margin="10,5,0,0"/>
|
||||
<TextBlock Text="{Binding LenIsMMMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding UnitMeasureList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedUnitMeasure}" Height="25"
|
||||
Margin="10,5,0,0"/>
|
||||
<TextBlock Text="{Binding DecDigitMsg}" VerticalAlignment="Center"/>
|
||||
<TextBox Text="{Binding DecDigit}" Height="25"
|
||||
VerticalContentAlignment="Center"
|
||||
Margin="10,5,0,0"/>
|
||||
<TextBlock Text="{Binding FontMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding FontList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedFont}" Height="25"
|
||||
Margin="10,5,0,0"/>
|
||||
<TextBlock Text="{Binding TextHeightMsg}" VerticalAlignment="Center"/>
|
||||
<TextBox Text="{Binding TextHeight}" Height="25"
|
||||
VerticalContentAlignment="Center"
|
||||
Margin="10,5,0,0"/>
|
||||
</UniformGrid>
|
||||
</GroupBox>-->
|
||||
</StackPanel>
|
||||
|
||||
</TabItem>
|
||||
<TabItem Header="{Binding ImportMsg}">
|
||||
<StackPanel Margin="5,5,5,0">
|
||||
<Grid Margin="0,5,0,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="0.8*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Grid.Row="0" Grid.Column="1"
|
||||
VerticalAlignment="Center" HorizontalAlignment="Center"
|
||||
Text="{Binding UnitScaleMsg}" />
|
||||
<TextBlock Grid.Row="0" Grid.Column="2"
|
||||
VerticalAlignment="Center" HorizontalAlignment="Center"
|
||||
Text="{Binding FactorScaleMsg}"/>
|
||||
|
||||
<TextBlock Grid.Row="1" Grid.Column="0"
|
||||
Text="{Binding DxfScaleFactorMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox Grid.Row="1" Grid.Column="1"
|
||||
ItemsSource="{Binding ScaleDXFList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedDXFScale, UpdateSourceTrigger=PropertyChanged}" Height="25"
|
||||
Margin="10,0,0,5"/>
|
||||
<TextBox Grid.Row="1" Grid.Column="2"
|
||||
Text="{Binding DxfScaleFactor}" Height="25"
|
||||
IsEnabled="{Binding DXFScaleEnable, UpdateSourceTrigger=LostFocus}"
|
||||
VerticalContentAlignment="Center"
|
||||
Margin="10,0,0,5"/>
|
||||
<TextBlock Grid.Row="2" Grid.Column="0"
|
||||
Text="{Binding StlScaleFactorMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox Grid.Row="2" Grid.Column="1"
|
||||
ItemsSource="{Binding ScaleSTLList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedSTLScale, UpdateSourceTrigger=PropertyChanged}" Height="25"
|
||||
Margin="10,0,0,5"/>
|
||||
<TextBox Grid.Row="2" Grid.Column="2"
|
||||
Text="{Binding StlScaleFactor}" Height="25"
|
||||
IsEnabled="{Binding STLScaleEnable, UpdateSourceTrigger=LostFocus}"
|
||||
VerticalContentAlignment="Center"
|
||||
Margin="10,0,0,5"/>
|
||||
<!--<TextBlock Grid.Row="3" Grid.Column="0"
|
||||
Text="{Binding ImageScaleFactorMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox Grid.Row="3" Grid.Column="1"
|
||||
ItemsSource="{Binding ScaleImageList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedImageScale, UpdateSourceTrigger=PropertyChanged}" Height="25"
|
||||
Margin="10,0,0,5"/>
|
||||
<TextBox Grid.Row="3" Grid.Column="2"
|
||||
Text="{Binding ImageScaleFactor}" Height="25"
|
||||
IsEnabled="{Binding ImageScaleEnable, UpdateSourceTrigger=LostFocus}"
|
||||
VerticalContentAlignment="Center"
|
||||
Margin="10,0,0,5"/>-->
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</TabItem>
|
||||
<!--<TabItem Header="{Binding ExportMsg}">
|
||||
<StackPanel>
|
||||
<GroupBox Grid.Column="1" Grid.RowSpan="2"
|
||||
Header="{Binding ImageMsg}"
|
||||
Margin="5,5,5,0">
|
||||
<UniformGrid Grid.ColumnSpan="2" Columns="2">
|
||||
<TextBlock Text="{Binding ImageWidthMsg}" VerticalAlignment="Center"/>
|
||||
<TextBox Text="{Binding ImageWidth}" Height="25"
|
||||
VerticalContentAlignment="Center"
|
||||
Margin="10,0,0,5"/>
|
||||
<TextBlock Text="{Binding ImageHeightMsg}" VerticalAlignment="Center"/>
|
||||
<TextBox Text="{Binding ImageHeight}" Height="25"
|
||||
VerticalContentAlignment="Center"
|
||||
Margin="10,0,0,5"/>
|
||||
</UniformGrid>
|
||||
</GroupBox>
|
||||
</StackPanel>
|
||||
</TabItem>-->
|
||||
<TabItem Header="{Binding CAMMsg}">
|
||||
<StackPanel>
|
||||
<!--<GroupBox Grid.Column="1" Grid.RowSpan="2"
|
||||
Header="{Binding MachiningSelGeomMsg}"
|
||||
Margin="5,5,5,0">
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="{Binding GeomTypeDrillingMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding GeomTypeList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedDrillingGeomType}" Height="25">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Converter={StaticResource GeomTypeConverter}}"/>
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
<TextBlock Text="{Binding GeomTypeSawingMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding GeomTypeList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedSawingGeomType}" Height="25">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Converter={StaticResource GeomTypeConverter}}"/>
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
<TextBlock Text="{Binding GeomTypeMillingMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding GeomTypeList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedMillingGeomType}" Height="25"
|
||||
Margin="0,0,0,5">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Converter={StaticResource GeomTypeConverter}}"/>
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
<TextBlock Text="{Binding GeomTypePocketingMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding GeomTypeList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedPocketingGeomType}" Height="25">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Converter={StaticResource GeomTypeConverter}}"/>
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
<TextBlock Text="{Binding GeomTypeMortisingMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding GeomTypeList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedMortisingGeomType}" Height="25">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Converter={StaticResource GeomTypeConverter}}"/>
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
<TextBlock Text="{Binding GeomTypeChiselingMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding GeomTypeList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedChiselingGeomType}" Height="25">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Converter={StaticResource GeomTypeConverter}}"/>
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
</UniformGrid>
|
||||
</GroupBox>-->
|
||||
|
||||
<!--<Grid Margin="5,5,5,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Text="{Binding NewMachiningPosMsg}" VerticalAlignment="Center"
|
||||
Grid.Row="0" Margin="0,0,0,5"/>
|
||||
<CheckBox IsChecked="{Binding NewMachiningIsLastOne}"
|
||||
Grid.Column="1" Grid.Row="0" Margin="4,0,0,0" VerticalAlignment="Center"/>
|
||||
<TextBlock Text="{Binding UseDispositionScriptMsg}" VerticalAlignment="Center"
|
||||
Grid.Row="1" Margin="0,0,0,5"/>
|
||||
<CheckBox IsChecked="{Binding UseDispositionScript}"
|
||||
Grid.Column="1" Grid.Row="1" Margin="4,0,0,0" VerticalAlignment="Center"/>
|
||||
</Grid>-->
|
||||
|
||||
<Grid Margin="5,5,5,0">
|
||||
<Button Content="{Binding AddMachineMsg}" Command="{Binding AddMachine_Command}" Height="26" Margin="100,1"/>
|
||||
</Grid>
|
||||
|
||||
<Grid Margin="5,5,5,0">
|
||||
<Button Content="{Binding ExportMachineMsg}" Command="{Binding ExportMachine_Command}" Height="26" Margin="100,1"/>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
|
||||
</EgtWPFLib5:EgtCustomWindow>
|
||||
@@ -0,0 +1,3 @@
|
||||
Public Class OptionWindowV
|
||||
|
||||
End Class
|
||||
@@ -49,6 +49,12 @@
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/ProjectManager/Import.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button Command="{Binding ExportCommand}"
|
||||
ToolTip="{Binding ExportToolTip}"
|
||||
IsEnabled="{Binding ProjCmd_IsEnabled}"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/ProjectManager/Export.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<!--<Button Command="{Binding ExportCommand}" ToolTip="{Binding ExportToolTip}"
|
||||
IsEnabled="{Binding DrawIsChecked}">
|
||||
<Image Source="/Resources/ProjectManager/Export.png" Stretch="Uniform"/>
|
||||
@@ -59,6 +65,12 @@
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/ProjectManager/Options.png" Height="22" />
|
||||
</Button>
|
||||
<Button Command="{Binding Help_Command}"
|
||||
Width="30"
|
||||
ToolTip="{Binding Help_ToolTip}"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/ProjectManager/Send.png" Height="22" />
|
||||
</Button>
|
||||
<Button Command="{Binding SendFeedbackCommand}"
|
||||
Width="30"
|
||||
ToolTip="{Binding SendFeedbackToolTip}"
|
||||
|
||||
@@ -60,7 +60,9 @@ Public Class ProjManagerVM
|
||||
Private m_cmdSave As ICommand
|
||||
Private m_cmdSaveAs As ICommand
|
||||
Private m_cmdImport As ICommand
|
||||
Private m_cmdExport As ICommand
|
||||
Private m_cmdOptions As ICommand
|
||||
Private m_cmdHelp As ICommand
|
||||
Private m_cmdSendFeedback As ICommand
|
||||
|
||||
|
||||
@@ -162,6 +164,9 @@ Public Class ProjManagerVM
|
||||
End Sub
|
||||
|
||||
Friend Sub NewProject(bDialog As Boolean)
|
||||
' Gestisco eventuale file corrente modificato
|
||||
If Not Map.refSceneHostVM.MainController.ManageModified() Then Return
|
||||
EgtResetModified()
|
||||
Dim NewProjMachine As Machine
|
||||
If bDialog AndAlso Map.refMachinePanelVM.MachineList.Count > 0 Then
|
||||
Dim ChooseMachineWndVM As New ChooseMachineWndVM
|
||||
@@ -202,7 +207,7 @@ Public Class ProjManagerVM
|
||||
OpenProject(Nothing)
|
||||
End Sub
|
||||
|
||||
Friend Sub OpenProject(sFilePath As String)
|
||||
Friend Function OpenProject(sFilePath As String) As Boolean
|
||||
If String.IsNullOrEmpty(sFilePath) Then
|
||||
' Recupero cartella dell'ultimo progetto aperto
|
||||
Dim sDir As String = Map.refSceneHostVM.MainController.GetCurrFile()
|
||||
@@ -212,11 +217,11 @@ Public Class ProjManagerVM
|
||||
If Not String.IsNullOrWhiteSpace(sDir) Then
|
||||
sDir = Path.GetDirectoryName(sDir)
|
||||
End If
|
||||
Map.refSceneHostVM.MainController.OpenProject(sDir)
|
||||
Return Map.refSceneHostVM.MainController.OpenProject(sDir)
|
||||
Else
|
||||
Map.refSceneHostVM.MainController.OpenProject(sFilePath, False)
|
||||
Return Map.refSceneHostVM.MainController.OpenProject(sFilePath, False)
|
||||
End If
|
||||
End Sub
|
||||
End Function
|
||||
|
||||
#End Region ' OpenCommand
|
||||
|
||||
@@ -316,6 +321,29 @@ Public Class ProjManagerVM
|
||||
|
||||
#End Region ' Import
|
||||
|
||||
#Region "ExportCommand"
|
||||
|
||||
''' <summary>
|
||||
''' Returns a command that do Export.
|
||||
''' </summary>
|
||||
Public ReadOnly Property ExportCommand As ICommand
|
||||
Get
|
||||
If m_cmdExport Is Nothing Then
|
||||
m_cmdExport = New Command(AddressOf Export)
|
||||
End If
|
||||
Return m_cmdExport
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' Execute the Export. This method is invoked by the ExportCommand.
|
||||
''' </summary>
|
||||
Public Sub Export(ByVal param As Object)
|
||||
Map.refSceneHostVM.ExportProject()
|
||||
End Sub
|
||||
|
||||
#End Region ' ExportCommand
|
||||
|
||||
#Region "Options"
|
||||
|
||||
''' <summary>
|
||||
@@ -334,10 +362,36 @@ Public Class ProjManagerVM
|
||||
''' Execute the Export. This method is invoked by the ExportCommand.
|
||||
''' </summary>
|
||||
Public Sub Options(ByVal param As Object)
|
||||
'Dim OptionsWindow As New OptionWindowV
|
||||
'OptionsWindow.DataContext = New OptionWindowVM
|
||||
'OptionsWindow.Owner = Application.Current.MainWindow
|
||||
'OptionsWindow.ShowDialog()
|
||||
Dim OptionsWindow As New OptionWindowV
|
||||
OptionsWindow.DataContext = New OptionWindowVM
|
||||
OptionsWindow.Owner = Application.Current.MainWindow
|
||||
OptionsWindow.ShowDialog()
|
||||
End Sub
|
||||
|
||||
#End Region ' Options
|
||||
|
||||
#Region "Help"
|
||||
|
||||
''' <summary>
|
||||
''' Returns a command that do Export.
|
||||
''' </summary>
|
||||
Public ReadOnly Property Help_Command As ICommand
|
||||
Get
|
||||
If m_cmdHelp Is Nothing Then
|
||||
m_cmdHelp = New Command(AddressOf Help)
|
||||
End If
|
||||
Return m_cmdHelp
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' Execute the Export. This method is invoked by the ExportCommand.
|
||||
''' </summary>
|
||||
Public Sub Help(ByVal param As Object)
|
||||
Dim HelpWndVM As New HelpWndVM
|
||||
Dim HelpWnd As New HelpWndV(Application.Current.MainWindow, HelpWndVM)
|
||||
HelpWndVM.LoadHtml()
|
||||
HelpWnd.Show()
|
||||
End Sub
|
||||
|
||||
#End Region ' Options
|
||||
|
||||
@@ -67,17 +67,18 @@ Public Class ReferencePanelVM
|
||||
NotifyPropertyChanged(NameOf(ghSelReference))
|
||||
End Sub
|
||||
|
||||
Friend Sub UpdateFramePosition()
|
||||
Friend Sub UpdateFramePosition(Optional SelPart As Print3dPartVM = Nothing)
|
||||
If IsNothing(SelPart) Then SelPart = Map.refTopPanelVM.SelPart
|
||||
' elimino precedente
|
||||
EgtEmptyGroup(Map.refTopPanelVM.SelPart.nReferenceLayerId)
|
||||
EgtEmptyGroup(SelPart.nReferenceLayerId)
|
||||
' Creo riferimento
|
||||
Dim frPrintSolid As New Frame3d()
|
||||
If m_SelReference = ReferenceBtn.References.FROM_IMPORT Then
|
||||
EgtGetGlobFrame(Map.refTopPanelVM.SelPart.nPrintSolidId, frPrintSolid)
|
||||
EgtGetGlobFrame(SelPart.nPrintSolidId, frPrintSolid)
|
||||
frPrintSolid.Setup(New Point3d(frPrintSolid.Orig.x, frPrintSolid.Orig.y, 0))
|
||||
Else
|
||||
Dim b3PrintSolid As New BBox3d
|
||||
EgtGetBBoxGlob(Map.refTopPanelVM.SelPart.nPrintSolidId, GDB_BB.STANDARD, b3PrintSolid)
|
||||
EgtGetBBoxGlob(SelPart.nPrintSolidId, GDB_BB.STANDARD, b3PrintSolid)
|
||||
' Creo riferimento
|
||||
Dim ptOrig As New Point3d(b3PrintSolid.Min())
|
||||
Select Case m_SelReference
|
||||
@@ -103,15 +104,19 @@ Public Class ReferencePanelVM
|
||||
Case ReferenceBtn.References.MC
|
||||
ptOrig += b3PrintSolid.DimY() / 2 * Vector3d.Y_AX + b3PrintSolid.DimX() / 2 * Vector3d.X_AX
|
||||
End Select
|
||||
Dim vtMovedPart As Vector3d
|
||||
EgtGetInfo(SelPart.nPartId, "MovedPart", vtMovedPart)
|
||||
ptOrig = ptOrig - vtMovedPart
|
||||
frPrintSolid = New Frame3d(ptOrig)
|
||||
End If
|
||||
Dim nFrameId As Integer = EgtCreateGeoFrame(Map.refTopPanelVM.SelPart.nReferenceLayerId, frPrintSolid, GDB_RT.GLOB)
|
||||
Dim nFrameId As Integer = EgtCreateGeoFrame(SelPart.nReferenceLayerId, frPrintSolid, GDB_RT.GLOB)
|
||||
If nFrameId Then
|
||||
EgtSetName(nFrameId, FRAME_PART)
|
||||
EgtSetMode(nFrameId, GDB_MD.LOCKED)
|
||||
Map.refTopPanelVM.SelPart.UpdateReferenceId(nFrameId)
|
||||
SelPart.UpdateReferenceId(nFrameId)
|
||||
End If
|
||||
EgtSetInfo(Map.refTopPanelVM.SelPart.nReferenceLayerId, KEY_REFERENCE, m_SelReference)
|
||||
EgtSetInfo(SelPart.nReferenceLayerId, KEY_REFERENCE, m_SelReference)
|
||||
Map.refDispositionPanelVM.RefreshPos()
|
||||
EgtDraw()
|
||||
End Sub
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 947 B |
|
Before Width: | Height: | Size: 477 B |
|
Before Width: | Height: | Size: 691 B |
|
Before Width: | Height: | Size: 812 B |
|
Before Width: | Height: | Size: 757 B |
|
Before Width: | Height: | Size: 792 B |
|
Before Width: | Height: | Size: 434 B |
|
Before Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 468 B |
|
Before Width: | Height: | Size: 525 B |
|
Before Width: | Height: | Size: 315 B |
|
Before Width: | Height: | Size: 434 B |
|
Before Width: | Height: | Size: 474 B |
|
Before Width: | Height: | Size: 290 B |
|
Before Width: | Height: | Size: 397 B |
|
Before Width: | Height: | Size: 478 B |
|
Before Width: | Height: | Size: 503 B |
|
After Width: | Height: | Size: 603 B |
|
After Width: | Height: | Size: 671 B |
|
Before Width: | Height: | Size: 1.0 KiB |
@@ -0,0 +1,756 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" dir="ltr">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
|
||||
|
||||
<title>Egalware: Icarus Documentation</title>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="./templates/default/delos.css?vers=7-11-2022-06-29-$Id$&version=7.11_2022-06-29" />
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="./Services/Accordion/css/accordion.css?version=7.11_2022-06-29" />
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="./Modules/Scorm2004/templates/default/question_handling.css?version=7.11_2022-06-29" />
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="./Modules/TestQuestionPool/templates/default/test_javascript.css?version=7.11_2022-06-29" />
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="./node_modules/jstree/dist/themes/default/style.min.css?version=7.11_2022-06-29" />
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="./Services/COPage/css/content.css?version=7.11_2022-06-29" />
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="./Services/COPage/css/syntaxhighlight.css?version=7.11_2022-06-29" />
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="./Services/COPage/css/placeholder.css?version=7.11_2022-06-29" />
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="./node_modules/mediaelement/build/mediaelementplayer.min.css?version=7.11_2022-06-29" />
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="./node_modules/owl.carousel/dist/assets/owl.carousel.css?version=7.11_2022-06-29" />
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="./libs/bower/bower_components/yui2/build/container/assets/skins/sam/container.css?version=7.11_2022-06-29" />
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="Services/Notifications/templates/default/osd.css?version=7.11_2022-06-29" />
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="./templates/default/delos_cont.css?vers=7-11-2022-06-29&version=7.11_2022-06-29" />
|
||||
|
||||
|
||||
|
||||
<script src="./node_modules/jquery/dist/jquery.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="./node_modules/jquery-ui-dist/jquery-ui.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="./node_modules/jquery-migrate/dist/jquery-migrate.min.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="./node_modules/bootstrap/dist/js/bootstrap.min.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="./node_modules/linkifyjs/dist/linkify-jquery.min.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="./Services/JavaScript/js/Basic.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="./node_modules/maphilight/jquery.maphilight.min.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="./libs/bower/bower_components/yui2/build/yahoo/yahoo-min.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="./libs/bower/bower_components/yui2/build/yahoo-dom-event/yahoo-dom-event.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="./libs/bower/bower_components/yui2/build/animation/animation-min.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="./Services/Accordion/js/accordion.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="./Modules/Scorm2004/scripts/questions/pure.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="./Modules/Scorm2004/scripts/questions/question_handling.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="./Services/UIComponent/Explorer2/js/Explorer2.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="./node_modules/jstree/dist/jstree.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="./Modules/LearningModule/js/LearningModule.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="./node_modules/linkifyjs/dist/linkify.min.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="./Services/Link/js/ilExtLink.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="src/UI/templates/js/MainControls/mainbar.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="src/UI/templates/js/MainControls/metabar.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="src/UI/templates/js/MainControls/slate.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="src/UI/templates/js/Page/stdpage.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="src/GlobalScreen/Client/dist/GS.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="./Services/COPage/js/ilCOPagePres.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="./node_modules/mediaelement/build/mediaelement-and-player.min.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="./Services/MediaObjects/js/MediaElementHelper.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="Modules/TestQuestionPool/js/ilAssMultipleChoice.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="Modules/TestQuestionPool/js/ilMatchingQuestion.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="./node_modules/owl.carousel/dist/owl.carousel.min.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="./libs/bower/bower_components/yui2/build/container/container_core-min.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="./Services/UIComponent/Overlay/js/ilOverlay.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="./libs/bower/bower_components/yui2/build/connection/connection-min.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
<script src="Services/Notifications/templates/default/notifications.js?version=7.11_2022-06-29"></script>
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="il-layout-page">
|
||||
|
||||
<header>
|
||||
<div class="header-inner">
|
||||
<div class="il-logo">
|
||||
<span class="hidden-xs">
|
||||
<a href="ilias.php?baseClass=ilDashboardGUI&cmd=jumpToSelectedItems">
|
||||
|
||||
|
||||
|
||||
<img src="./templates/default/images/HeaderIcon.svg" class="img-standard" alt="ILIAS" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
</span>
|
||||
<span class="visible-xs">
|
||||
<a href="ilias.php?baseClass=ilDashboardGUI&cmd=jumpToSelectedItems">
|
||||
|
||||
|
||||
|
||||
<img src="./templates/default/images/HeaderIconResponsive.svg" class="img-standard" alt="ILIAS" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
</span>
|
||||
<div class="il-pagetitle">
|
||||
Egalware eLearning
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<div class="breadcrumbs">
|
||||
|
||||
</div>
|
||||
|
||||
<div class="il-system-infos">
|
||||
|
||||
</div>
|
||||
|
||||
<div class="nav il-maincontrols">
|
||||
<div class="il-maincontrols-mainbar" id="il_ui_fw_63d0ff3ee8fc11_16169935">
|
||||
<nav class="il-mainbar" aria-label="Mainbar">
|
||||
|
||||
<div class="il-mainbar-tools-button">
|
||||
<button class="btn btn-bulky engaged" id="il_ui_fw_63d0ff3ee8eec1_02866511" aria-pressed="true" >
|
||||
<img
|
||||
class="icon custom small"
|
||||
src="./templates/default/images/outlined/icon_tool.svg" alt="-more-"
|
||||
|
||||
|
||||
/>
|
||||
<span class="bulky-label">Tools</span></button>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="il-mainbar-triggers">
|
||||
<ul class="il-mainbar-entries" role="menubar" style="visibility: hidden"><!--if done via class/css-files, visibility is being applied too late -->
|
||||
|
||||
<li role="none"><button class="btn btn-bulky" id="il_ui_fw_63d0ff3ee8bde1_21601243" role="menuitem" ><span class="glyph" aria-label="Show More" role="img">
|
||||
<span class="glyphicon
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
glyphicon-option-horizontal
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
" aria-hidden="true"></span>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
<span class="bulky-label">More</span></button>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="il-mainbar-slates">
|
||||
<div class="il-mainbar-tools-entries">
|
||||
<ul class="il-mainbar-tools-entries-bg" role="menubar">
|
||||
|
||||
<li class="il-mainbar-tool-trigger-item" role="none"><button class="btn btn-bulky" id="il_ui_fw_63d0ff3ee8d032_66480549" role="menuitem" >
|
||||
<img
|
||||
class="icon custom small"
|
||||
src="./templates/default/images/outlined/icon_glo.svg" alt="Glossary"
|
||||
|
||||
|
||||
/>
|
||||
<span class="bulky-label">Glossary</span></button>
|
||||
</li>
|
||||
|
||||
<li class="il-mainbar-tool-trigger-item" role="none"><button class="btn btn-bulky" id="il_ui_fw_63d0ff3ee8da99_86768276" role="menuitem" >
|
||||
<img
|
||||
class="icon custom small"
|
||||
src="./templates/default/images/outlined/icon_mdia.svg" alt="Media"
|
||||
|
||||
|
||||
/>
|
||||
<span class="bulky-label">Media</span></button>
|
||||
</li>
|
||||
|
||||
<li class="il-mainbar-tool-trigger-item" role="none"><button class="btn btn-bulky" id="il_ui_fw_63d0ff3ee8e338_93719743" role="menuitem" >
|
||||
<img
|
||||
class="icon custom small"
|
||||
src="./templates/default/images/outlined/icon_faq.svg" alt="FAQ"
|
||||
|
||||
|
||||
/>
|
||||
<span class="bulky-label">FAQ</span></button>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="il-maincontrols-slate disengaged" id="il_ui_fw_63d0ff3ee8cc75_65077243" data-depth-level="1" role="menu">
|
||||
<div class="il-maincontrols-slate-content" data-replace-marker="content">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="il-maincontrols-slate disengaged" id="il_ui_fw_63d0ff3ee8d760_20444139" data-depth-level="1" role="menu">
|
||||
<div class="il-maincontrols-slate-content" data-replace-marker="content">
|
||||
<div style='height:100%; overflow:hidden;' id='glossary_area'><iframe style='border:0; padding:0; height:100%; width:100%'></iframe></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="il-maincontrols-slate disengaged" id="il_ui_fw_63d0ff3ee8e042_86747960" data-depth-level="1" role="menu">
|
||||
<div class="il-maincontrols-slate-content" data-replace-marker="content">
|
||||
<div style='height:100%; overflow:hidden;' id='media_area'><iframe style='border:0; padding:0; height:100%; width:100%'></iframe></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="il-maincontrols-slate disengaged" id="il_ui_fw_63d0ff3ee8e8c4_76302667" data-depth-level="1" role="menu">
|
||||
<div class="il-maincontrols-slate-content" data-replace-marker="content">
|
||||
<div style='height:100%; overflow:hidden;' id='faq_area'><iframe style='border:0; padding:0; height:100%; width:100%'></iframe></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="il-mainbar-close-slates">
|
||||
<button class="btn btn-bulky" id="il_ui_fw_63d0ff3ee8f502_37883999" ><span class="glyph" aria-label="Back" role="img">
|
||||
<span class="glyphicon
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
glyphicon-chevron-left
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
" aria-hidden="true"></span>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
<span class="bulky-label">close</span></button>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- html5 main-tag is not supported in IE / div is needed -->
|
||||
<main class="il-layout-page-content">
|
||||
<div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div id="mainspacekeeper" class="container-fluid ">
|
||||
<div class="row" style="position: relative;">
|
||||
|
||||
<div id="fixed_content" class=" ilContentFixed" >
|
||||
<div id="mainscrolldiv" >
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="media il_HeaderInner">
|
||||
|
||||
|
||||
|
||||
|
||||
<img id="headerimage" class="media-object" src="./templates/default/images/icon_lm.svg" alt="" title="" />
|
||||
|
||||
<h1 class="media-heading ilHeader "><a tabindex="0" class="ilAccAnchor" id="il_mhead_t_focus" name="il_mhead_t_focus" >Icarus Documentation</a></h1>
|
||||
|
||||
<div class="media-body">
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="ilClearFloat"></div>
|
||||
|
||||
<h2 class="ilAccHeadingHidden">Tabs</h2>
|
||||
<ul id="ilTab" class="nav nav-tabs ilCollapsable hidden-print">
|
||||
|
||||
|
||||
|
||||
<li id="ilLastTab">
|
||||
<a class="btn dropdown-toggle ilNoDisplay" data-toggle="dropdown" href="#">
|
||||
... <span class="caret"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu" id="ilTabDropDown">
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<span class="ilAccHidden"><a id="after_tabs"></a></span>
|
||||
|
||||
<div class="ilTabsContentOuter"><div class="clearfix"></div>
|
||||
<h2 class="ilAccHeadingHidden"><a id="sub_tabs_after_tabs">SubTabs</a></h2>
|
||||
<ul id="ilSubTab" class="ilSubTab nav nav-pills hidden-print">
|
||||
|
||||
</ul>
|
||||
<span class="ilAccHidden"><a id="after_sub_tabs" name="after_sub_tabs"></a></span>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="container-fluid" id="ilContentContainer">
|
||||
<div class="row">
|
||||
|
||||
<div id="il_center_col" class="col-sm-12">
|
||||
|
||||
|
||||
<div id="ilLMPageContent" class="ilc_page_frame_PageFrame">
|
||||
|
||||
|
||||
<div class="ilc_page_tnav_TopNavigation">
|
||||
|
||||
|
||||
<div class="ilc_page_rnav_RightNavigation">
|
||||
<a class="ilc_page_rnavlink_RightNavigationLink" href="lm_pg_302.html" >
|
||||
Import Part
|
||||
<img class="ilc_page_rnavimage_RightNavigationImage" src="images/spacer.png" alt="Next" title="Next" /></a>
|
||||
</div>
|
||||
|
||||
<div class="ilClearFloat"></div>
|
||||
</div>
|
||||
|
||||
<div class="ilc_page_cont_PageContainer">
|
||||
<span class="ilAccHidden">
|
||||
<a name="il_lm_head" id="il_lm_head"></a></span>
|
||||
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
<!--
|
||||
focus();
|
||||
//-->
|
||||
</script>
|
||||
|
||||
<a class="small" id="ilPageShowAdvContent" style="display:none; text-align:right;" href="#"><span>Show Advanced Knowledge</span><span>Hide Advanced Knowledge</span></a><h1 class="ilc_page_title_PageTitle">Introduction</h1><!--COPage-PageTop--><div class="ilc_Paragraph ilc_text_block_Standard"><!--Break--></div><div class="ilc_Paragraph ilc_text_block_Standard"><span class="ilc_text_inline_Strong">Icarus is the Slicing & Printing software made by Egalware for the Large Additive Manufacturing.</span><br/><br/>In the picture below you can see the interface, which we will explain step by step in this documentation.<!--Break--></div><div style="clear:both;"><figure class="ilc_media_cont_MediaContainer" style=" 			position: relative; 			display:table;margin-right:auto; margin-left:0; "><div class="ilc_Mob"><img border="0" style="width:100%" src="mobs/mm_1180/Intro_1_.png?il_wac_token=274e2a9da87133065f7799547e8e78ff143bf94d&il_wac_ttl=3&il_wac_ts=1674641214"/></div></figure></div><div style="clear:both;"><figure class="ilc_media_cont_MediaContainer" style=" 			position: relative; 			display:table;margin-right:auto; margin-left:0; "><div class="ilc_Mob"><img border="0" style="width:100%" src="mobs/mm_1178/Intro_2_.png?il_wac_token=274e2a9da87133065f7799547e8e78ff143bf94d&il_wac_ttl=3&il_wac_ts=1674641214" alt=""/></div><figcaption style=" 					display: table-caption; caption-side: bottom; 				"><div class="ilc_media_caption_MediaCaption"/></figcaption></figure></div><div class="ilc_Paragraph ilc_text_block_Standard">By clicking the upper left icon will appear a window containing all the software and system information. As showed in the below picture, It is used to check the installed version and the hardware build currently running the software.<!--Break--></div><div style="clear:both;"><figure class="ilc_media_cont_MediaContainer" style=" 			position: relative; 			display:table;margin-right:auto; margin-left:0; "><div class="ilc_Mob"><img border="0" style="width:100%" src="mobs/mm_1179/Intro_3_.png?il_wac_token=274e2a9da87133065f7799547e8e78ff143bf94d&il_wac_ttl=3&il_wac_ts=1674641214"/></div></figure></div><div class="ilc_Paragraph ilc_text_block_Standard">If any support or assistance is needed, it is important to copy and transmit the information contained in the box so the technicians can have more information possible regarding the specific installation.<!--Break--></div><div style="clear:both;"><!--Break--></div><div class='il-copg-mob-fullscreen-modal'><div class="modal fade il-modal-roundtrip" tabindex="-1" role="dialog" id="il_ui_fw_63d0ff3ee6cf42_26035047">
|
||||
<div class="modal-dialog" role="document" data-replace-marker="component">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<span class="modal-title">Full Screen</span>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
<iframe class='il-copg-mob-fullscreen' id='il-copg-mob-fullscreen-lm-296'></iframe>
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
|
||||
<button class="btn btn-default" data-dismiss="modal" aria-label="Close">Cancel</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div></div><script>$(function () { il.COPagePres.setFullscreenModalShowSignal('il_signal_63d0ff3ee6c929_32677666', '-lm-296'); });</script>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="ilc_page_bnav_BottomNavigation">
|
||||
|
||||
|
||||
<div class="ilc_page_rnav_RightNavigation">
|
||||
<a class="ilc_page_rnavlink_RightNavigationLink" href="lm_pg_302.html" >
|
||||
Import Part
|
||||
<img class="ilc_page_rnavimage_RightNavigationImage" src="images/spacer.png" alt="Next" title="Next" /></a>
|
||||
</div>
|
||||
|
||||
<div class="ilClearFloat"></div>
|
||||
</div>
|
||||
<!--</div>-->
|
||||
<br />
|
||||
|
||||
<br />
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--<div id="minheight"></div>-->
|
||||
<!--<footer id="ilFooter" class="ilFooter hidden-print"><div class="container-fluid ilContainerWidth">-->
|
||||
<!--<div class="row"><div class="ilFooterContainer form-inline"> </div></div></div></footer>-->
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<footer role="contentinfo">
|
||||
<div class="il-maincontrols-footer">
|
||||
<div class="il-footer-content">
|
||||
|
||||
|
||||
|
||||
<div class="il-footer-text">
|
||||
powered by ILIAS (v7.11 2022-06-29)
|
||||
</div>
|
||||
|
||||
<div class="il-footer-links">
|
||||
<ul>
|
||||
|
||||
<li><a href="https://ilias.steamware.net/goto.php?target=impr_0&client_id=steamware" >Legal Notice</a></li>
|
||||
|
||||
<li><a href="ilias.php?cmdClass=ilaccessibilitycontrolconceptgui&cmdNode=t&baseClass=ilaccessibilitycontrolconceptgui" >Accessibility Control Concept</a></li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</footer>
|
||||
|
||||
</main>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
|
||||
il.Util.addOnLoad(function() {
|
||||
try { il.ExtLink.autolink('.ilc_Paragraph, .ilc_page_fn_Footnote','ilc_link_ExtLink'); } catch (e) { console.log(e); }
|
||||
try {
|
||||
ilias.questions.txt.wrong_answers = "Incorrect Items";
|
||||
ilias.questions.txt.wrong_answers_single = "Incorrect Choice.";
|
||||
ilias.questions.txt.tries_remaining = "Tries Remaining";
|
||||
ilias.questions.txt.please_try_again = "Please try again!";
|
||||
ilias.questions.txt.all_answers_correct = "Correct!";
|
||||
ilias.questions.txt.enough_answers_correct = "Correct, but not the best solution!";
|
||||
ilias.questions.txt.nr_of_tries_exceeded = "Number of tries exceeded.";
|
||||
ilias.questions.txt.correct_answers_shown = "Correct solution see above.";
|
||||
ilias.questions.txt.correct_answers_also = "Also correct are:";
|
||||
ilias.questions.txt.correct_answer_also = "Also correct is:";
|
||||
ilias.questions.txt.ov_all_correct = "You have correctly answered all questions.";
|
||||
ilias.questions.txt.ov_some_correct = "You have correctly answered [x] out of [y] questions.";
|
||||
ilias.questions.txt.ov_wrong_answered = "The following questions were not answered or answered wrong";
|
||||
ilias.questions.txt.please_select = "please select";
|
||||
ilias.questions.txt.ov_preview = "The question overview does not work in the page editor context. Use the SCO or SCORM level preview instead.";
|
||||
ilias.questions.txt.submit_answers = "Submit";
|
||||
ilias.questions.refresh_lang();
|
||||
il.COPagePres.updateQuestionOverviews(); } catch (e) { console.log(e); }
|
||||
try { il.ExtLink.autolink('.ilc_Paragraph, .ilc_page_fn_Footnote','ilc_link_ExtLink'); } catch (e) { console.log(e); }
|
||||
try { $(document).on('il_signal_63d0ff3ee6c929_32677666', function(event, signalData) { il.UI.modal.showModal('il_ui_fw_63d0ff3ee6cf42_26035047', {"ajaxRenderUrl":"","keyboard":true,"url":"#il_ui_fw_63d0ff3ee6cf42_26035047"}, signalData); return false; });$(document).on('il_signal_63d0ff3ee6c957_55686158', function() { il.UI.modal.closeModal('il_ui_fw_63d0ff3ee6cf42_26035047'); return false; });$(document).on('il_signal_63d0ff3ee6c961_85702413', function(event, signalData) { il.UI.modal.replaceFromSignal('il_ui_fw_63d0ff3ee6cf42_26035047', signalData);}); } catch (e) { console.log(e); }
|
||||
try { } catch (e) { console.log(e); }
|
||||
try { il.ExtLink.autolink('.ilc_Paragraph, .ilc_page_fn_Footnote','ilc_link_ExtLink'); } catch (e) { console.log(e); }
|
||||
try {
|
||||
ilias.questions.txt.wrong_answers = "Incorrect Items";
|
||||
ilias.questions.txt.wrong_answers_single = "Incorrect Choice.";
|
||||
ilias.questions.txt.tries_remaining = "Tries Remaining";
|
||||
ilias.questions.txt.please_try_again = "Please try again!";
|
||||
ilias.questions.txt.all_answers_correct = "Correct!";
|
||||
ilias.questions.txt.enough_answers_correct = "Correct, but not the best solution!";
|
||||
ilias.questions.txt.nr_of_tries_exceeded = "Number of tries exceeded.";
|
||||
ilias.questions.txt.correct_answers_shown = "Correct solution see above.";
|
||||
ilias.questions.txt.correct_answers_also = "Also correct are:";
|
||||
ilias.questions.txt.correct_answer_also = "Also correct is:";
|
||||
ilias.questions.txt.ov_all_correct = "You have correctly answered all questions.";
|
||||
ilias.questions.txt.ov_some_correct = "You have correctly answered [x] out of [y] questions.";
|
||||
ilias.questions.txt.ov_wrong_answered = "The following questions were not answered or answered wrong";
|
||||
ilias.questions.txt.please_select = "please select";
|
||||
ilias.questions.txt.ov_preview = "The question overview does not work in the page editor context. Use the SCO or SCORM level preview instead.";
|
||||
ilias.questions.txt.submit_answers = "Submit";
|
||||
ilias.questions.refresh_lang();
|
||||
il.COPagePres.updateQuestionOverviews(); } catch (e) { console.log(e); }
|
||||
try { il.ExtLink.autolink('.ilc_Paragraph, .ilc_page_fn_Footnote','ilc_link_ExtLink'); } catch (e) { console.log(e); }
|
||||
try { OSDNotifier = OSDNotifications({
|
||||
closeHtml: "<a class=\"glyph\" aria-label=\"Close\">\n<span class=\"glyphicon\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n glyphicon-remove\n\n\n\n\n\n\n\n\n\n\n\n\" aria-hidden=\"true\"><\/span>\n\n\n\n\n\n\n\n<\/a>\n",
|
||||
initialNotifications: [],
|
||||
pollingIntervall: 60,
|
||||
playSound: false
|
||||
}); } catch (e) { console.log(e); }
|
||||
try { } catch (e) { console.log(e); }
|
||||
try {
|
||||
il.UI.maincontrols.mainbar.addPartIdAndEntry('0:0', 'triggerer', 'il_ui_fw_63d0ff3ee8bde1_21601243', false);
|
||||
il.UI.maincontrols.mainbar.addMapping('_mb_more_entry','0:0');
|
||||
|
||||
$('#il_ui_fw_63d0ff3ee8bde1_21601243').on('click', function(event) {
|
||||
$(this).trigger('il_signal_63d0ff3ee8b9e3_29047317',
|
||||
{
|
||||
'id' : 'il_signal_63d0ff3ee8b9e3_29047317', 'event' : 'click',
|
||||
'triggerer' : $(this),
|
||||
'options' : JSON.parse('{"entry_id":"0:0","action":"trigger"}')
|
||||
}
|
||||
);
|
||||
return false;
|
||||
}); } catch (e) { console.log(e); }
|
||||
try { fn = il.UI.maincontrols.slate.onSignal;$(document).on('il_signal_63d0ff3ee8b8e4_93013623', function(event, signalData) { fn('toggle', event, signalData, 'il_ui_fw_63d0ff3ee8cc75_65077243'); return false;});$(document).on('il_signal_63d0ff3ee8b900_13774526', function(event, signalData) { fn('engage', event, signalData, 'il_ui_fw_63d0ff3ee8cc75_65077243'); return false;});$(document).on('il_signal_63d0ff3ee8b912_62996210', function(event, signalData) { fn('replace', event, signalData, 'il_ui_fw_63d0ff3ee8cc75_65077243'); return false;});il.UI.maincontrols.mainbar.addPartIdAndEntry('0:0', 'slate', 'il_ui_fw_63d0ff3ee8cc75_65077243'); } catch (e) { console.log(e); }
|
||||
try { il.UI.maincontrols.mainbar.addToolEntry('T:0', false, false, '696c4c4d4753546f6f6c50726f76696465727c6c6d5f676c6f73736172795f313234');
|
||||
il.UI.maincontrols.mainbar.addPartIdAndEntry('T:0', 'triggerer', 'il_ui_fw_63d0ff3ee8d032_66480549', true);
|
||||
il.UI.maincontrols.mainbar.addMapping('696c4c4d4753546f6f6c50726f76696465727c6c6d5f676c6f73736172795f313234','T:0');
|
||||
|
||||
$('#il_ui_fw_63d0ff3ee8d032_66480549').on('click', function(event) {
|
||||
$(this).trigger('il_signal_63d0ff3ee8cd81_34583329',
|
||||
{
|
||||
'id' : 'il_signal_63d0ff3ee8cd81_34583329', 'event' : 'click',
|
||||
'triggerer' : $(this),
|
||||
'options' : JSON.parse('{"entry_id":"T:0","action":"trigger"}')
|
||||
}
|
||||
);
|
||||
return false;
|
||||
}); } catch (e) { console.log(e); }
|
||||
try { } catch (e) { console.log(e); }
|
||||
try {
|
||||
$('body').on('il-lm-show-glossary-slate', function(){
|
||||
il.UI.maincontrols.mainbar.engageTool('696c4c4d4753546f6f6c50726f76696465727c6c6d5f676c6f73736172795f313234');
|
||||
});
|
||||
fn = il.UI.maincontrols.slate.onSignal;$(document).on('il_signal_63d0ff3ee88362_35062860', function(event, signalData) { fn('toggle', event, signalData, 'il_ui_fw_63d0ff3ee8d760_20444139'); return false;});$(document).on('il_signal_63d0ff3ee88379_77427782', function(event, signalData) { fn('engage', event, signalData, 'il_ui_fw_63d0ff3ee8d760_20444139'); return false;});$(document).on('il_signal_63d0ff3ee88385_05609071', function(event, signalData) { fn('replace', event, signalData, 'il_ui_fw_63d0ff3ee8d760_20444139'); return false;});il.UI.maincontrols.mainbar.addPartIdAndEntry('T:0', 'slate', 'il_ui_fw_63d0ff3ee8d760_20444139'); } catch (e) { console.log(e); }
|
||||
try { il.UI.maincontrols.mainbar.addToolEntry('T:1', false, false, '696c4c4d4753546f6f6c50726f76696465727c6c6d5f6d656469615f313234');
|
||||
il.UI.maincontrols.mainbar.addPartIdAndEntry('T:1', 'triggerer', 'il_ui_fw_63d0ff3ee8da99_86768276', true);
|
||||
il.UI.maincontrols.mainbar.addMapping('696c4c4d4753546f6f6c50726f76696465727c6c6d5f6d656469615f313234','T:1');
|
||||
|
||||
$('#il_ui_fw_63d0ff3ee8da99_86768276').on('click', function(event) {
|
||||
$(this).trigger('il_signal_63d0ff3ee8d839_23892402',
|
||||
{
|
||||
'id' : 'il_signal_63d0ff3ee8d839_23892402', 'event' : 'click',
|
||||
'triggerer' : $(this),
|
||||
'options' : JSON.parse('{"entry_id":"T:1","action":"trigger"}')
|
||||
}
|
||||
);
|
||||
return false;
|
||||
}); } catch (e) { console.log(e); }
|
||||
try { } catch (e) { console.log(e); }
|
||||
try {
|
||||
$('body').on('il-lm-show-media-slate', function(){
|
||||
il.UI.maincontrols.mainbar.engageTool('696c4c4d4753546f6f6c50726f76696465727c6c6d5f6d656469615f313234');
|
||||
});
|
||||
fn = il.UI.maincontrols.slate.onSignal;$(document).on('il_signal_63d0ff3ee88429_11615188', function(event, signalData) { fn('toggle', event, signalData, 'il_ui_fw_63d0ff3ee8e042_86747960'); return false;});$(document).on('il_signal_63d0ff3ee88437_65731093', function(event, signalData) { fn('engage', event, signalData, 'il_ui_fw_63d0ff3ee8e042_86747960'); return false;});$(document).on('il_signal_63d0ff3ee88445_18150113', function(event, signalData) { fn('replace', event, signalData, 'il_ui_fw_63d0ff3ee8e042_86747960'); return false;});il.UI.maincontrols.mainbar.addPartIdAndEntry('T:1', 'slate', 'il_ui_fw_63d0ff3ee8e042_86747960'); } catch (e) { console.log(e); }
|
||||
try { il.UI.maincontrols.mainbar.addToolEntry('T:2', false, false, '696c4c4d4753546f6f6c50726f76696465727c6c6d5f6661715f313234');
|
||||
il.UI.maincontrols.mainbar.addPartIdAndEntry('T:2', 'triggerer', 'il_ui_fw_63d0ff3ee8e338_93719743', true);
|
||||
il.UI.maincontrols.mainbar.addMapping('696c4c4d4753546f6f6c50726f76696465727c6c6d5f6661715f313234','T:2');
|
||||
|
||||
$('#il_ui_fw_63d0ff3ee8e338_93719743').on('click', function(event) {
|
||||
$(this).trigger('il_signal_63d0ff3ee8e104_43928242',
|
||||
{
|
||||
'id' : 'il_signal_63d0ff3ee8e104_43928242', 'event' : 'click',
|
||||
'triggerer' : $(this),
|
||||
'options' : JSON.parse('{"entry_id":"T:2","action":"trigger"}')
|
||||
}
|
||||
);
|
||||
return false;
|
||||
}); } catch (e) { console.log(e); }
|
||||
try { } catch (e) { console.log(e); }
|
||||
try {
|
||||
$('body').on('il-lm-show-faq-slate', function(){
|
||||
il.UI.maincontrols.mainbar.engageTool('696c4c4d4753546f6f6c50726f76696465727c6c6d5f6661715f313234');
|
||||
});
|
||||
fn = il.UI.maincontrols.slate.onSignal;$(document).on('il_signal_63d0ff3ee88495_44010459', function(event, signalData) { fn('toggle', event, signalData, 'il_ui_fw_63d0ff3ee8e8c4_76302667'); return false;});$(document).on('il_signal_63d0ff3ee884a9_43104840', function(event, signalData) { fn('engage', event, signalData, 'il_ui_fw_63d0ff3ee8e8c4_76302667'); return false;});$(document).on('il_signal_63d0ff3ee884b3_81778817', function(event, signalData) { fn('replace', event, signalData, 'il_ui_fw_63d0ff3ee8e8c4_76302667'); return false;});il.UI.maincontrols.mainbar.addPartIdAndEntry('T:2', 'slate', 'il_ui_fw_63d0ff3ee8e8c4_76302667'); } catch (e) { console.log(e); }
|
||||
try { $('#il_ui_fw_63d0ff3ee8eec1_02866511').on('click', function(event) {
|
||||
$(this).trigger('il_signal_63d0ff3ee88541_20400653',
|
||||
{
|
||||
'id' : 'il_signal_63d0ff3ee88541_20400653', 'event' : 'click',
|
||||
'triggerer' : $(this),
|
||||
'options' : JSON.parse('{"action":"toggle_tools"}')
|
||||
}
|
||||
);
|
||||
return false;
|
||||
}); } catch (e) { console.log(e); }
|
||||
try { $('#il_ui_fw_63d0ff3ee8f502_37883999').on('click', function(event) {
|
||||
$(this).trigger('il_signal_63d0ff3ee88532_08990916',
|
||||
{
|
||||
'id' : 'il_signal_63d0ff3ee88532_08990916', 'event' : 'click',
|
||||
'triggerer' : $(this),
|
||||
'options' : JSON.parse('{"action":"disengage_all"}')
|
||||
}
|
||||
);
|
||||
return false;
|
||||
}); } catch (e) { console.log(e); }
|
||||
try { il.UI.maincontrols.mainbar.addTriggerSignal('il_signal_63d0ff3ee88532_08990916');il.UI.maincontrols.mainbar.addTriggerSignal('il_signal_63d0ff3ee88541_20400653');il.UI.maincontrols.mainbar.addTriggerSignal('il_signal_63d0ff3eca1d48_11886331');il.UI.maincontrols.mainbar.addTriggerSignal('il_signal_63d0ff3eca46a6_28079720');il.UI.maincontrols.mainbar.addTriggerSignal('il_signal_63d0ff3eca57b5_07532776');il.UI.maincontrols.mainbar.addTriggerSignal('il_signal_63d0ff3eca6306_89668854');il.UI.maincontrols.mainbar.addTriggerSignal('il_signal_63d0ff3ed343d6_78195239');il.UI.maincontrols.mainbar.addTriggerSignal('il_signal_63d0ff3ed35383_29681362');il.UI.maincontrols.mainbar.addTriggerSignal('il_signal_63d0ff3ed35d90_32886384');il.UI.maincontrols.mainbar.addTriggerSignal('il_signal_63d0ff3ed368b4_59651188');il.UI.maincontrols.mainbar.addTriggerSignal('il_signal_63d0ff3edef906_97471724');il.UI.maincontrols.mainbar.addTriggerSignal('il_signal_63d0ff3edf08f4_31681211');il.UI.maincontrols.mainbar.addTriggerSignal('il_signal_63d0ff3edf12f2_78020438');il.UI.maincontrols.mainbar.addTriggerSignal('il_signal_63d0ff3edf1c05_48435519');il.UI.maincontrols.mainbar.addTriggerSignal('il_signal_63d0ff3ee8b9e3_29047317');il.UI.maincontrols.mainbar.addTriggerSignal('il_signal_63d0ff3ee8cd81_34583329');il.UI.maincontrols.mainbar.addTriggerSignal('il_signal_63d0ff3ee8d839_23892402');il.UI.maincontrols.mainbar.addTriggerSignal('il_signal_63d0ff3ee8e104_43928242');il.UI.maincontrols.mainbar.addTriggerSignal('il_signal_63d0ff3ee886b3_57690902');il.UI.maincontrols.mainbar.addTriggerSignal('il_signal_63d0ff3ee886d0_94616127');il.UI.maincontrols.mainbar.addTriggerSignal('il_signal_63d0ff3ee886e8_48363734');
|
||||
window.addEventListener('resize', il.UI.maincontrols.mainbar.adjustToScreenSize);
|
||||
il.UI.maincontrols.mainbar.init('');
|
||||
} catch (e) { console.log(e); }
|
||||
try { } catch (e) { console.log(e); }
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,56 @@
|
||||
if (document.images)
|
||||
{
|
||||
var path = "./templates/default/images/navbar/";
|
||||
|
||||
imag = new Array();
|
||||
imag[0] = path + "desk.gif";
|
||||
imag[1] = path + "course.gif";
|
||||
imag[2] = path + "bookma.gif";
|
||||
imag[3] = path + "search.gif";
|
||||
imag[4] = path + "literat.gif";
|
||||
imag[5] = path + "mail.gif";
|
||||
imag[6] = path + "newsgr.gif";
|
||||
imag[7] = path + "groups.gif";
|
||||
imag[8] = path + "help.gif";
|
||||
imag[9] = path + "feedb.gif";
|
||||
imag[10] = path + "logout.gif";
|
||||
imag[11] = path + "desk_o.gif";
|
||||
imag[12] = path + "course_o.gif";
|
||||
imag[13] = path + "bookma_o.gif";
|
||||
imag[14] = path + "search_o.gif";
|
||||
imag[15] = path + "literat_o.gif";
|
||||
imag[16] = path + "mail_o.gif";
|
||||
imag[17] = path + "newsgr_o.gif";
|
||||
imag[18] = path + "groups_o.gif";
|
||||
imag[19] = path + "help_o.gif";
|
||||
imag[20] = path + "feedb_o.gif";
|
||||
imag[21] = path + "logout_o.gif";
|
||||
imag[22] = path + "login.gif";
|
||||
imag[23] = path + "login_o.gif";
|
||||
imag[24] = path + "editor.gif";
|
||||
imag[25] = path + "editor_o.gif";
|
||||
imag[26] = path + "admin.gif";
|
||||
imag[27] = path + "admin_o.gif";
|
||||
imag[28] = path + "termin.gif";
|
||||
imag[29] = path + "termin_o.gif";
|
||||
|
||||
im = new Array();
|
||||
|
||||
for (var i = 0; i < imag.length; i++)
|
||||
{
|
||||
im[i] = new Image();
|
||||
im[i].src = imag[i];
|
||||
}
|
||||
|
||||
function swtch(num,imgname)
|
||||
{
|
||||
imgname.src = im[num].src;
|
||||
window.status = '';
|
||||
}
|
||||
|
||||
function swtchon(num,imgname,text)
|
||||
{
|
||||
imgname.src = im[num].src;
|
||||
window.status = text;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,335 @@
|
||||
body {
|
||||
color: #222;
|
||||
background-color: #ddd;
|
||||
font-family: Verdana,Arial,Helvetica,sans-serif;
|
||||
font-size: 13px;
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
td {
|
||||
font-size:13px;
|
||||
}
|
||||
|
||||
.btnbar {
|
||||
background-color: #069;
|
||||
}
|
||||
|
||||
input, textarea {
|
||||
font-family: Verdana,Arial,Helvetica,sans-serif;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
a.menu:link, a.menu:visited {
|
||||
color: #a0c0ff;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
a.menu:hover {
|
||||
color: #f90;
|
||||
}
|
||||
|
||||
span.il_menu {
|
||||
color: #f7f7f7;
|
||||
}
|
||||
|
||||
/* ---------------- alternating tablerowcolors ----------------- */
|
||||
|
||||
.tblrow2 {
|
||||
color: #222;
|
||||
background-color: white;
|
||||
font-size: 13px;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
.tblrow1 {
|
||||
color: #222;
|
||||
background-color: white;
|
||||
font-size: 13px;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
/* -------------------- table formatting ------------------ */
|
||||
|
||||
table.std {
|
||||
border-spacing: 0px;
|
||||
}
|
||||
|
||||
table.fullwidth {
|
||||
width: 100%;
|
||||
border-spacing:1px;
|
||||
}
|
||||
|
||||
table.fullwidth_invisible {
|
||||
width: 100%;
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
td.std {
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
.tbltitle {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
color: white;
|
||||
background-color: #069;
|
||||
}
|
||||
|
||||
.tblheader {
|
||||
font-weight: bold;
|
||||
color: white;
|
||||
background-color: #667;
|
||||
}
|
||||
|
||||
.tblfooter {
|
||||
color: white;
|
||||
background-color: #667;
|
||||
}
|
||||
|
||||
td.option {
|
||||
padding: 3px;
|
||||
border-bottom: 1px solid black;
|
||||
}
|
||||
|
||||
td.option_value {
|
||||
padding: 3px;
|
||||
border-bottom: 1px solid black;
|
||||
}
|
||||
|
||||
td.submit {
|
||||
background-color: #d0d0d0;
|
||||
color: #222;
|
||||
padding: 4px;
|
||||
font-size: 13px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* must reset all values of td style */
|
||||
td.il_no_style {
|
||||
font-size: normal;
|
||||
font-weight: normal;
|
||||
background-image: none;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
/* locator */
|
||||
|
||||
div.locator {
|
||||
padding: 2px 5px;
|
||||
font-size: 13px;
|
||||
vertical-align: top;
|
||||
text-align: left;
|
||||
background-color: #ddd;
|
||||
border: 2px solid #606060;
|
||||
}
|
||||
|
||||
|
||||
/* ---------------- headlines ------------------ */
|
||||
|
||||
h1 {
|
||||
font-size: 16px;
|
||||
color: #222;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 16px;
|
||||
color: #222;
|
||||
}
|
||||
|
||||
/* ----------------- invisible border ------------- */
|
||||
div.top_border {
|
||||
margin: 0;
|
||||
padding: 10px 15px 5px;
|
||||
background-color: black;
|
||||
}
|
||||
div.invisible_border {
|
||||
margin: 12px 15px;
|
||||
}
|
||||
|
||||
div.il_Footer {
|
||||
margin-top: 30px;
|
||||
margin-bottom: 10px;
|
||||
font-size: 10px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* ----------------- alternative text styles ------------- */
|
||||
.small {
|
||||
text-decoration: none;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.smallgreen {
|
||||
text-decoration: none;
|
||||
font-size: 11px;
|
||||
color: green;
|
||||
}
|
||||
|
||||
.smallred {
|
||||
text-decoration: none;
|
||||
font-size: 11px;
|
||||
color: red;
|
||||
}
|
||||
|
||||
.warning {
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
color: red;
|
||||
}
|
||||
|
||||
.asterisk {
|
||||
color: red;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.default {
|
||||
text-decoration: none;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.quote {
|
||||
font-style: italic;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
font-style: italic;
|
||||
font-weight: normal;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.moderator_small {
|
||||
text-decoration: none;
|
||||
font-size: 11px;
|
||||
color: red;
|
||||
}
|
||||
|
||||
.moderator {
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
color: red;
|
||||
}
|
||||
|
||||
.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* ----------------- normal links ------------- */
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: #06f;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #06f;
|
||||
}
|
||||
|
||||
a:visited {
|
||||
color:#06f;
|
||||
}
|
||||
|
||||
/* ------------------- mail links ----------- */
|
||||
a.mailread
|
||||
{
|
||||
font-weight: normal;
|
||||
color: blue;
|
||||
}
|
||||
|
||||
a.mailunread
|
||||
{
|
||||
color: blue;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* ------------------ buttons -------------- */
|
||||
|
||||
.btn {
|
||||
background-color: #069;
|
||||
color: white;
|
||||
}
|
||||
|
||||
a.btn {
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
a.tblheader:visited, a.tblheader:hover {
|
||||
color: white;
|
||||
}
|
||||
|
||||
a.tblfooter:visited, a.tblfooter:hover {
|
||||
color: white;
|
||||
}
|
||||
|
||||
a.btn:visited {
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
a.btn:hover {
|
||||
color: #eef;
|
||||
}
|
||||
|
||||
.message {
|
||||
color: #d00;
|
||||
line-height: 25px;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* ------------------ tabs -------------- */
|
||||
.tab {
|
||||
font-size: 11px;
|
||||
color: black;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.tabactive {
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
.tabinactive {
|
||||
background-color: #c5c5c5;
|
||||
}
|
||||
|
||||
/* --- to prevent tab-images from spacing when using DOCTYPE xhtml --- */
|
||||
img.imgtab {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* ------------------ content window body tag (not used yet) -------------- */
|
||||
.content {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* --- Editor styles ---*/
|
||||
div.il_editarea {
|
||||
border-style: dotted;
|
||||
border-width: 1px;
|
||||
}
|
||||
|
||||
|
||||
/* ------------------ blind image - spacer gif --------------
|
||||
please use this style class always when using this blind image */
|
||||
img.spacer {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* ------------------ visually distinguishable numeric input fields --------------
|
||||
Styles related to https://mantis.ilias.de/view.php?id=26494
|
||||
*/
|
||||
.ilcqinput_NumericInput {
|
||||
background: #E0FAFA;
|
||||
}
|
||||
|
||||
.ilcqinput_NumericInput+span:after {
|
||||
content: " (!) ";
|
||||
color: green;
|
||||
}
|
||||
|
||||
.ilcqinput_NumericInputInvalid {
|
||||
background: red;
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
table {
|
||||
font-size: 100%;
|
||||
}
|
||||
|
||||
th {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin-top: 12px;
|
||||
margin-bottom: 8px;
|
||||
font-size: 140%;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin-top: 12px;
|
||||
margin-bottom: 8px;
|
||||
font-size: 130%;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
h3 {
|
||||
margin-top: 12px;
|
||||
margin-bottom: 8px;
|
||||
font-size: 120%;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
h4 {
|
||||
margin-top: 12px;
|
||||
margin-bottom: 8px;
|
||||
font-size: 115%;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
h5 {
|
||||
margin-top: 12px;
|
||||
margin-bottom: 8px;
|
||||
font-size: 110%;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
h6 {
|
||||
margin-top: 12px;
|
||||
margin-bottom: 8px;
|
||||
font-size: 105%;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 8px;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
pre {
|
||||
font-size: 100%;
|
||||
}
|
||||
|
||||
img {
|
||||
vertical-align: middle;
|
||||
border: 0 none;
|
||||
}
|
||||
|
||||
span.latex {
|
||||
color: green;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.framed {
|
||||
border: 1px solid #9eadba;
|
||||
padding: 0 10px;
|
||||
background-color: white;
|
||||
background-image: url(images/FramedBack.png);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
/* Modules/Bibliographic */
|
||||
|
||||
span.bibl_text_inline_Emph {
|
||||
font-style: italic;
|
||||
}
|
||||
@@ -0,0 +1,112 @@
|
||||
/* Modules/Blog */
|
||||
|
||||
div.ilBlogList {
|
||||
padding: 10px;
|
||||
margin-bottom: 20px;
|
||||
background-color: @il-main-bg;
|
||||
}
|
||||
|
||||
div.ilBlogListItem {
|
||||
padding: 1px 1px 5px;
|
||||
margin-bottom: 35px;
|
||||
&.ilBlogListItemDraft {
|
||||
padding: 8px;
|
||||
}
|
||||
}
|
||||
|
||||
div.ilBlogListItemTitle {
|
||||
border-bottom: 1px solid @il-main-border-color;
|
||||
}
|
||||
|
||||
div.ilBlogListItemTitle h3 {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
div.ilBlogListItemSubTitle {
|
||||
margin-top: 5px;
|
||||
color: @il-text-light-color;
|
||||
font-size: 80%;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
div.ilBlogListItemSnippet {
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
min-height: 10px;
|
||||
}
|
||||
|
||||
img.ilBlogListItemSnippetPreviewImage {
|
||||
margin-right: 10px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
div.ilBlogListItemMore {
|
||||
float: left;
|
||||
}
|
||||
|
||||
div.ilBlogListItemCommtensPerma {
|
||||
text-align: right;
|
||||
font-size: 90%;
|
||||
margin-top: 15px;
|
||||
min-height: 15px;
|
||||
}
|
||||
|
||||
td.ilBlogSideBlockContent {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
td.ilBlogSideBlockCommand {
|
||||
font-size: 75%;
|
||||
color: @il-text-light-color;
|
||||
border-bottom: 1px solid @il-main-border-color;
|
||||
padding: 1px 3px;
|
||||
background-color: @il-main-dark-bg;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
div.ilBlogSideBlockAuthor {
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
ul.ilBlogSideBlockNavigation {
|
||||
margin-top: 3px;
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
div.ilBlogSideBlockNavigationSelection {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.ilBlogListItemDraft {
|
||||
border: 2px dotted @brand-warning;
|
||||
}
|
||||
|
||||
.ilBlogDraftText {
|
||||
color: @brand-warning;
|
||||
position: absolute;
|
||||
font-size: @font-size-small;
|
||||
margin-top: -19px;
|
||||
padding: 2px 5px;
|
||||
background-color: @il-main-bg;
|
||||
}
|
||||
|
||||
.ilBlogNavigationItemDraft {
|
||||
margin-right: 50px;
|
||||
}
|
||||
|
||||
.ilBlogListPermalink {
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
.ilBlogRating {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.ilTopGap {
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
.ilExportPage {
|
||||
min-height: 468px;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
/* Modules/BookingManager */
|
||||
|
||||
.ilTextinfo {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
@@ -0,0 +1,133 @@
|
||||
/* Modules/Chatroom */
|
||||
|
||||
.ilValignBottom {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
#chat_actions {
|
||||
white-space: nowrap;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
#chat_messages {
|
||||
height: 300px;
|
||||
padding: 2px;
|
||||
overflow-y: scroll;
|
||||
overflow-x: hidden;
|
||||
overflow-wrap: break-word;
|
||||
word-wrap: break-word;
|
||||
-ms-word-break: break-all;
|
||||
word-break: break-all;
|
||||
word-break: break-word;
|
||||
-ms-hyphens: auto;
|
||||
-moz-hyphens: auto;
|
||||
-webkit-hyphens: auto;
|
||||
hyphens: auto;
|
||||
width: 100%;
|
||||
min-height: 200px;
|
||||
background-color: @il-main-dark-bg;
|
||||
}
|
||||
|
||||
#chat_users {
|
||||
overflow: auto;
|
||||
height: 100%;
|
||||
min-height: 300px;
|
||||
}
|
||||
|
||||
#private_rooms {
|
||||
z-index: 200;
|
||||
display: none;
|
||||
}
|
||||
|
||||
td.chatroom {
|
||||
width: 200px;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.ilChatroomUser {
|
||||
border-bottom: 1px solid #e9e9e9;
|
||||
|
||||
.media-body {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.media-body {
|
||||
padding-top: 8px;
|
||||
}
|
||||
|
||||
.media-body h4, .media-body p {
|
||||
color: #a0a0a0;
|
||||
font-size: 12px;
|
||||
padding: 5px 3px 0 3px;
|
||||
line-height: 1em;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.media-body h4 {
|
||||
padding-top: 0;
|
||||
color: #606060;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
background-color: #f0f0f0;
|
||||
padding: 10px 0;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.dropdown-menu a {
|
||||
color: #606060;
|
||||
}
|
||||
|
||||
.dropdown-menu a:hover {
|
||||
color: #202020;
|
||||
}
|
||||
|
||||
.arrow-down {
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-left: 11px solid transparent;
|
||||
border-right: 11px solid transparent;
|
||||
border-top: 11px solid white;
|
||||
margin-top: -10px;
|
||||
margin-left: 100px;
|
||||
}
|
||||
|
||||
.media:hover {
|
||||
background-color: #fea;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
position: static;
|
||||
float: none;
|
||||
.box-shadow(none);
|
||||
}
|
||||
|
||||
.dropdown-backdrop {
|
||||
position: static;
|
||||
}
|
||||
|
||||
.media {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.media-left img {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
.media-body, .media-left, .media-right {
|
||||
display: table-cell;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.media-left {
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
.media {
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
/* Modules/Course */
|
||||
|
||||
.ilValignTop {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.halfWidth {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.ilInheritBGColor {
|
||||
background-color: inherit;
|
||||
}
|
||||
|
||||
td.option_value_details {
|
||||
background: none white;
|
||||
color: @il-text-color;
|
||||
padding: 3px;
|
||||
vertical-align: top;
|
||||
text-align: left;
|
||||
}
|
||||
td.option_value_center_details {
|
||||
background: none #ffe4e4;
|
||||
color: @il-text-color;
|
||||
padding: 3px;
|
||||
vertical-align: top;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
ul.noStyle {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
li.smallPad {
|
||||
padding: 1px;
|
||||
}
|
||||
|
||||
.listIndent {
|
||||
padding: 0 0 20px;
|
||||
}
|
||||
|
||||
.ilCrsObjAcc {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
|
||||
.ilCourseObjectiveAccResults {
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
|
||||
.ilCourseObjectiveAccResult {
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
.ilCourseObjectiveAccSummary {
|
||||
font-size: 120%;
|
||||
padding-top: 15px;
|
||||
}
|
||||
|
||||
.ilCourseObjectiveProgressBarContainer .text-comparision {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.ilCourseObjectiveProgressBarContainer {
|
||||
float: right;
|
||||
max-width: 200px;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
|
||||
/* LOK progress bars */
|
||||
|
||||
.ilCourseObjectiveProgressBar {
|
||||
padding-right: 5px;
|
||||
float: right;
|
||||
}
|
||||
|
||||
.ilCourseObjectiveProgressBarContainer > .progress {
|
||||
margin: 5px 0 0;
|
||||
border: 1px solid #bbb;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.ilCourseObjectiveProgressBarContainer > .progress > .progress-bar {
|
||||
.box-shadow(none);
|
||||
}
|
||||
|
||||
.ilCourseObjectiveProgressBarLimit {
|
||||
float: right;
|
||||
position: relative;
|
||||
border-right: 2px dotted #888;
|
||||
height: 20px;
|
||||
margin-top: -17px;
|
||||
}
|
||||
|
||||
.ilCourseObjectiveProgressBarNeutral {
|
||||
background-color: #888;
|
||||
}
|
||||
|
||||
.ilCourseObjectiveProgressBarCompleted {
|
||||
background-color: #60b060;
|
||||
}
|
||||
|
||||
.ilCourseObjectiveProgressBarFailed {
|
||||
background-color: #b06060;
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
/* Modules/DataCollection */
|
||||
|
||||
td.dcl_actions {
|
||||
text-align: right;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
.dcl_record_list td, .dcl_field_list td {
|
||||
padding: 10px 7px;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
.ilDclTableDescription {
|
||||
padding: 15px 0;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
.ilDclRecordViewNavWrapper {
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.ilDclRecordViewNav {
|
||||
font-weight: normal;
|
||||
padding: 3px;
|
||||
font-size: 80%;
|
||||
width: 80%;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.ilDclEditRecordButtonWrapper {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.ilDclRecordViewRecordOfTotal {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.ilDclSelectRecord {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.ilDclChangeRecord {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.ilDclPermanentLinkWrapper {
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
tr.dcl_comments_active > td {
|
||||
background-color: #ffffd9;
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
/* Modules/Excercise */
|
||||
|
||||
.ilExcAssignmentBody {
|
||||
padding: 20px;
|
||||
background-color: @il-main-dark-bg;
|
||||
}
|
||||
|
||||
.ilExcAssignmentHead img {
|
||||
display: block;
|
||||
float: left;
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
.ilExcAssignmentHead .ilAssignmentHeader {
|
||||
padding: 0;
|
||||
margin: 1px 0 0 25px;
|
||||
font-size: floor(@font-size-base*1.2);
|
||||
}
|
||||
|
||||
.ilExcAssignmentHead, .ilAssignmentHeader {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.ilExAssignmentHeadProperty {
|
||||
margin: 4px 0 0 25px;
|
||||
font-size: floor(@font-size-base*0.9);
|
||||
}
|
||||
|
||||
.ilExcOverview .ilExcAssImageContainer {
|
||||
max-width: 300px;
|
||||
display:inline-block;
|
||||
cursor:pointer;
|
||||
}
|
||||
.ilExcReportFeedback{
|
||||
background-color:@il-main-dark-bg;
|
||||
padding:9px;
|
||||
}
|
||||
|
||||
.ilExcAssignmentInfoTool {
|
||||
padding: 10px;
|
||||
h4 {
|
||||
padding-left:0px;
|
||||
padding-right:0px;
|
||||
}
|
||||
p {
|
||||
padding: 0px;
|
||||
}
|
||||
ul {
|
||||
padding-left: 30px;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,189 @@
|
||||
/* Modules/Forum */
|
||||
|
||||
a.postread, a.postread:visited {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
a.postunread, a.postunread:visited {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
a.postnew, a.postnew:visited {
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
blockquote.ilForumQuote {
|
||||
margin: 0 20px 10px;
|
||||
padding: 5px;
|
||||
border: 1px solid #b6b6b6;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
div.ilForumQuoteHead {
|
||||
font-weight: bold;
|
||||
font-size: 90%;
|
||||
margin: 0 0 10px;
|
||||
}
|
||||
|
||||
/* Modules/Forum */
|
||||
#ilFrmPostList {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-color: @il-main-dark-bg;
|
||||
}
|
||||
|
||||
.ilFrmPostImage {
|
||||
float: left;
|
||||
width: 100px;
|
||||
overflow: hidden;
|
||||
img {
|
||||
vertical-align: top;
|
||||
margin: 5px 20px 5px 5px;
|
||||
border: none;
|
||||
max-width: 100%;
|
||||
@media only screen and (min-width: @grid-float-breakpoint) {
|
||||
margin: 0 !important;
|
||||
padding: 5px 8px 5px 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ilFrmPostClear {
|
||||
clear: both;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
line-height: 1px;
|
||||
}
|
||||
|
||||
.ilFrmPostTitle {
|
||||
margin-top: 15px;
|
||||
font-size: 120%;
|
||||
@media only screen and (max-width: @grid-float-breakpoint-max) {
|
||||
margin-top: 5px;
|
||||
font-size: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
div.ilFrmPostHeader span.small {
|
||||
color: @il-text-light-color;
|
||||
}
|
||||
|
||||
.ilFrmPostContentContainer {
|
||||
margin: 0 0 10px;
|
||||
width: 80%;
|
||||
float: left;
|
||||
@media only screen and (max-width: @grid-float-breakpoint-max) {
|
||||
width: 100%;
|
||||
}
|
||||
img {
|
||||
@media only screen {
|
||||
width: 100%;
|
||||
height: auto !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ilFrmPostContent {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.ilFrmPostRow {
|
||||
padding: 3px;
|
||||
border-top: 1px solid #f0f0f0;
|
||||
div.ilForm {
|
||||
width: 100%;
|
||||
max-width: 1000px;
|
||||
div.ilFormValue {
|
||||
width: auto;
|
||||
}
|
||||
div.ilFormOption {
|
||||
width: 150px;
|
||||
}
|
||||
&, input[type=text], textarea {
|
||||
@media only screen and (max-width: @grid-float-breakpoint-max) {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
img.ilUserIcon {
|
||||
@media only screen and (max-width: @grid-float-breakpoint-max) {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @screen-lg-desktop) {
|
||||
.sort_by_posts .ilFrmPostRow {
|
||||
&.ilFrmPost-level-2 {
|
||||
padding-left: 50px;
|
||||
}
|
||||
&.ilFrmPost-level-3 {
|
||||
padding-left: 100px;
|
||||
}
|
||||
&.ilFrmPost-level-4 {
|
||||
padding-left: 150px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ilFrmPostCensorshipAdvice {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.ilFrmPostAttachmentsContainer {
|
||||
margin: 20px 0 0;
|
||||
font-weight: bold;
|
||||
a {
|
||||
font-weight: normal;
|
||||
}
|
||||
img {
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
|
||||
.ilFrmPostCommands {
|
||||
float: right;
|
||||
margin: 0 0 3px;
|
||||
}
|
||||
|
||||
.ilModeratorPosting {
|
||||
background-color: @il-posting-by-moderator-bg;
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
.ilPostingNeedsActivation {
|
||||
background-color: @il-posting-needs-moderation-bg;
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
.ilFrmBottomToolbar {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.ilForumTreeTitle {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.ilForumTreeTitleUnread {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.ilForumTreeUnlinkedContent {
|
||||
display: block;
|
||||
line-height: 0.9em;
|
||||
margin-bottom: 10px;
|
||||
text-decoration: none;
|
||||
cursor: text;
|
||||
font-size: smaller;
|
||||
color: @il-text-color;
|
||||
padding-left: 23px;
|
||||
}
|
||||
|
||||
.frm-thread-scrollable-print {
|
||||
overflow: auto;
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
/* BEGIN LTIConsumer */
|
||||
|
||||
@lti-iframe-width: 100%;
|
||||
@lti-iframe-height: 500px;
|
||||
|
||||
@lti-iframe-border-color: #7c7c7c;
|
||||
@lti-iframe-border-width: 2px;
|
||||
|
||||
@lti-iframe-padding: 3px;
|
||||
|
||||
#ltiLoadingAnimation {
|
||||
padding-top: 50px;
|
||||
text-align: center;
|
||||
}
|
||||
#ltiIframe {
|
||||
border: solid @lti-iframe-border-color @lti-iframe-border-width !important;
|
||||
padding: @lti-iframe-padding;
|
||||
width: @lti-iframe-width;
|
||||
height: @lti-iframe-height;
|
||||
}
|
||||
/* END LTIConsumer */
|
||||
@@ -0,0 +1,115 @@
|
||||
/* Modules/LearningModule */
|
||||
|
||||
.ilLMMenu {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
body.ilLMNoMenu .ilFixedTopSpacer {
|
||||
padding-top: 0px;
|
||||
}
|
||||
|
||||
body.ilLMNoMenu .ilLeftNav {
|
||||
top: 0px;
|
||||
}
|
||||
|
||||
button.ilAreaClose {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
div.ilRightAreaSpace {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
/* right area (used in learning modules) */
|
||||
div#right_area {
|
||||
bottom: 0;
|
||||
width: 50%;
|
||||
right: 0px;
|
||||
top: @il-header-height;
|
||||
position: fixed;
|
||||
/* padding: 5px; */
|
||||
background-color: #f5f5f5;
|
||||
border-left: 3px solid #e9e9e9;
|
||||
/* box-shadow: inset 0px 2px 2px #d0d0d0; */
|
||||
-webkit-overflow-scrolling: touch; /* Bug 11209 */
|
||||
overflow: hidden; /* Bug 11209 */
|
||||
}
|
||||
|
||||
div#right_area iframe {
|
||||
-webkit-overflow-scrolling: touch; /* Bug 11209 */
|
||||
overflow: auto; /* Bug 11209 */
|
||||
border: none;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
div#right_cont_area {
|
||||
bottom: 0;
|
||||
width: 50%;
|
||||
right: 0px;
|
||||
top: @il-header-height;
|
||||
position: fixed;
|
||||
background-color: transparent;
|
||||
border-left: 3px solid @il-main-border-color;
|
||||
-webkit-overflow-scrolling: touch; /* Bug 11209 */
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
div#right_top_area {
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
border-bottom: 3px solid #e9e9e9;
|
||||
border-right: 3px solid #e9e9e9;
|
||||
-webkit-overflow-scrolling: touch; /* Bug 11209 */
|
||||
overflow: hidden;
|
||||
display: none;
|
||||
}
|
||||
|
||||
div.ilRightContAreaSplit div#right_top_area {
|
||||
height: 50%;
|
||||
}
|
||||
|
||||
div#right_top_area iframe {
|
||||
-webkit-overflow-scrolling: touch; /* Bug 11209 */
|
||||
overflow: auto; /* Bug 11209 */
|
||||
border: none;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
div#right_bottom_area {
|
||||
top: 0px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
-webkit-overflow-scrolling: touch; /* Bug 11209 */
|
||||
overflow: hidden;
|
||||
display: none;
|
||||
border-right: 3px solid #e9e9e9;
|
||||
}
|
||||
|
||||
div.ilRightContAreaSplit div#right_bottom_area {
|
||||
top: 50%;
|
||||
height: 50%;
|
||||
}
|
||||
|
||||
|
||||
div#right_bottom_area iframe {
|
||||
-webkit-overflow-scrolling: touch; /* Bug 11209 */
|
||||
overflow: auto; /* Bug 11209 */
|
||||
border: none;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
#il_expl2_jstree_cont_out_ilLMProgressTree img {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
margin-top: -3px;
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
@lso-dark-bg: @il-main-dark-bg;
|
||||
|
||||
.ilLSOLearnerView { /*ILIAS-GUI, "startpage" of LSO*/
|
||||
|
||||
.il-workflow-step-label,
|
||||
.il-workflow-step-label .btn {
|
||||
color: @text-color !important;
|
||||
cursor: default !important;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
.ilLSOKioskModeObjectHeader {
|
||||
.il_HeaderInner{
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
}
|
||||
.ilLSOKioskModeNavigation {
|
||||
margin-bottom: 10px;
|
||||
background-color: @lso-dark-bg;
|
||||
.navbar-form {
|
||||
line-height: 25px;
|
||||
}
|
||||
}
|
||||
|
||||
.ilLSOKioskModeContent {
|
||||
.panel-primary {
|
||||
.panel-heading {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
/* Modules/MediaPool */
|
||||
|
||||
#ilMepPreviewContent {
|
||||
margin: 0;
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.ilMediaPoolPagePreviewBody {
|
||||
background-color: @il-main-dark-bg;
|
||||
height: auto;
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
/* Modules/Poll */
|
||||
|
||||
.ilPollDescription {
|
||||
margin: 5px;
|
||||
font-size: 80%;
|
||||
color: @il-text-light-color;
|
||||
}
|
||||
|
||||
.ilPollQuestion {
|
||||
display: inline-block;
|
||||
width: 97%;
|
||||
margin: 1.5%;
|
||||
font-size: 90%;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
img.ilPollQuestionImage {
|
||||
margin: 1.5% 0%;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.ilPollQuestionAnswers {
|
||||
margin: 5px;
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
.ilPollQuestionAnswer {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.ilPollQuestionResults {
|
||||
margin: 10px;
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
.ilPollQuestionResult {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.ilPollQuestionResultBar {
|
||||
width: 100%;
|
||||
border: 1px solid @il-main-border-dark-color;
|
||||
float: left;
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.ilPollQuestionResultBarInner {
|
||||
background-color: #c2e1ff;
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.ilPollQuestionResultPerc {
|
||||
float: right;
|
||||
position: relative;
|
||||
margin-top: -17px;
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
.ilPollLegend {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.ilPollLegend td.legendLabel {
|
||||
font-size: 120%;
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
/* Modules/Portfolio */
|
||||
|
||||
ul.ilPCMyCoursesCourseList > li {
|
||||
margin-bottom: 10px;
|
||||
.course-list-tree-icon {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
ul.ilPCMyCoursesObjectiveList > li {
|
||||
margin-top: 5px;
|
||||
margin-left: 40px;
|
||||
}
|
||||
|
||||
a.ilPCMyCoursesToggle {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
div.ilPCMyCoursesPath {
|
||||
margin-bottom: 10px;
|
||||
font-size: 90%;
|
||||
/* font-style: italic; */
|
||||
}
|
||||
|
||||
div.ilPrtfSignature
|
||||
{
|
||||
margin-top: 60px;
|
||||
border-top: 1px solid black;
|
||||
}
|
||||
|
||||
.ilPrtfMetaInfo {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.ilPrtfMetaInfo td {
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
.ilPrtfMetaInfo td, .ilPrtfMetaInfo th {
|
||||
padding-top: 5px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
div.ilPrtfToc {
|
||||
margin-top: 40px;
|
||||
}
|
||||
|
||||
body.ilPrtfPdfBody {
|
||||
> div.ilInvisibleBorder {
|
||||
padding: 0;
|
||||
padding-left: 40px;
|
||||
}
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
body.ilPrtfPdfBody h1.ilc_PrintPageTitle {
|
||||
border-bottom: 1px solid #000000;
|
||||
}
|
||||
|
||||
body.ilPrtfPdfBody .ilPCMyCoursesToggle img {
|
||||
visibility: hidden;
|
||||
}
|
||||