Compare commits
48 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 | |||
| f710918411 | |||
| 1585fc2659 | |||
| c06d75e292 | |||
| a6acc66099 | |||
| 12de367ba1 | |||
| a68dba11a2 | |||
| 5d26914967 | |||
| 98628b887e | |||
| 5152600fd9 |
@@ -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
|
||||
@@ -14,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
|
||||
@@ -36,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
|
||||
@@ -46,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"
|
||||
@@ -95,6 +99,7 @@
|
||||
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"
|
||||
@@ -122,6 +127,8 @@
|
||||
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"
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -113,6 +113,14 @@ Public Module ConstIni
|
||||
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"
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
Public Const K_MACH_EXITSCRIPT As String = "ExitScript"
|
||||
|
||||
Public Const S_MACH_PRINTING3D As String = "3dPrinting"
|
||||
Public Const K_HORIZONTAL_PRINT As String = "HorizontalPrint"
|
||||
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
|
||||
@@ -150,7 +151,7 @@ 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(sCurrSlicingType))
|
||||
@@ -158,6 +159,7 @@ Public Class CurrMachining
|
||||
NotifyPropertyChanged(NameOf(sCurrStrandW))
|
||||
NotifyPropertyChanged(NameOf(sCurrStrandCount))
|
||||
NotifyPropertyChanged(NameOf(sCurrOffset))
|
||||
sender.NotifyPropertyChanged(NameOf(sender.bIsModifiedFromDb))
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -194,8 +196,11 @@ Public Class CurrMachiningCathegory
|
||||
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.G0FEEDZ, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.TOOLDIAM, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.FLOWRATE_PC, 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),
|
||||
@@ -211,8 +216,8 @@ Public Class CurrMachiningCathegory
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.COASTINGLEN, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.COASTINGFEED_PC, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.WIPELEN, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.WIPEFEED_PC, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.WIPEDIR, 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 CurrComboMachiningParam(MachiningParam.Params.RIBSTYPE, nPartId, nIndex, bForceFromDb),
|
||||
@@ -273,13 +278,13 @@ Public Class CurrNumericMachiningParam
|
||||
|
||||
Public Overrides Property sValue As String
|
||||
Get
|
||||
Return If(m_bIsLen, LenToString(m_dValue, 1), DoubleToString( m_dValue, 2))
|
||||
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
|
||||
StringToDouble( value, m_dValue)
|
||||
StringToDouble(value, m_dValue)
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(sValue))
|
||||
NotifyPropertyChanged(NameOf(bIsModifiedFromDb))
|
||||
@@ -314,13 +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 = True
|
||||
m_bIsLen = False
|
||||
Case Params.STARTPOINTOFFSETONSLICE
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_STARTPOINTOFFSETONSLICE, m_dValue)
|
||||
m_bIsLen = True
|
||||
@@ -357,24 +362,27 @@ Public Class CurrNumericMachiningParam
|
||||
Case Params.WIPEFEED_PC
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_WIPEFEEDPU, m_dValue)
|
||||
m_bIsLen = False
|
||||
Case Params.WIPEDIR
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_WIPEDIR, m_dValue)
|
||||
m_bIsLen = True
|
||||
'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
|
||||
m_bIsLen = False
|
||||
Case Params.RIBSLEADINLEN
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADINLEN, m_dValue)
|
||||
m_bIsLen = True
|
||||
@@ -389,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
|
||||
@@ -401,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
|
||||
@@ -419,7 +427,7 @@ 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
|
||||
@@ -429,11 +437,11 @@ Public Class CurrNumericMachiningParam
|
||||
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.STRANDOVERLAP, Params.STARTPOINTOFFSETONSLICE,
|
||||
Params.FLOORCOUNT, Params.G0FEED, Params.TOOLDIAM, Params.FLOWRATE_PC
|
||||
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_PC,
|
||||
Params.WIPELEN, Params.WIPEFEED_PC, Params.WIPEDIR
|
||||
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.RIBSOVERLAP, Params.RIBSSTRANDCOUNT, Params.RIBSLINK, Params.RIBSINVERTORDER, Params.RIBSINVERTDIRECTION,
|
||||
Params.RIBSLEADININVERT, Params.RIBSLEADINLEN, Params.RIBSLEADOUTINVERT, Params.RIBSLEADOUTLEN, Params.RIBSLEADOUTCOASTING,
|
||||
@@ -449,6 +457,9 @@ Public Class CurrNumericMachiningParam
|
||||
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
|
||||
@@ -497,12 +508,14 @@ Public Class CurrNumericMachiningParam
|
||||
EgtSetInfo(nPartId, MAC_WIPELEN, sWriteValue)
|
||||
Case Params.WIPEFEED_PC
|
||||
EgtSetInfo(nPartId, MAC_WIPEFEEDPU, sWriteValue)
|
||||
Case Params.WIPEDIR
|
||||
EgtSetInfo(nPartId, MAC_WIPEDIR, 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
|
||||
@@ -677,11 +690,16 @@ Public Class CurrComboMachiningParam
|
||||
Dim bReadFromPart As Boolean = False
|
||||
Select Case Type
|
||||
Case Params.SLICINGTYPE
|
||||
Dim nHorizontalPrint As Integer = GetPrivateProfileInt(S_MACH_PRINTING3D, K_HORIZONTAL_PRINT, 0, CurrentMachine.sMachIniFile)
|
||||
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_SLICINGTYPE.VERTICAL, "Vertical"),
|
||||
New IdNameStruct(Machining.MPAR_SLICINGTYPE.DEG45, "45°")})
|
||||
If nHorizontalPrint > 0 Then
|
||||
m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.HORIZONTAL, "Horizontal"))
|
||||
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)
|
||||
@@ -727,7 +745,8 @@ Public Class CurrComboMachiningParam
|
||||
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.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)
|
||||
@@ -751,12 +770,18 @@ 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.SLICINGTYPE, 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)
|
||||
@@ -772,6 +797,9 @@ Public Class CurrComboMachiningParam
|
||||
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
|
||||
|
||||
@@ -797,6 +825,8 @@ Public Class CurrComboMachiningParam
|
||||
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
|
||||
|
||||
@@ -948,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>
|
||||
|
||||
@@ -186,15 +186,15 @@
|
||||
<UniformGrid Columns="3">
|
||||
<RadioButton Content="X"
|
||||
GroupName="Axes"
|
||||
IsChecked="{Binding RotAxes[0]}"
|
||||
IsChecked="{Binding RotX}"
|
||||
Style="{StaticResource ToolBar_ToggleButton}"/>
|
||||
<RadioButton Content="Y"
|
||||
GroupName="Axes"
|
||||
IsChecked="{Binding RotAxes[1]}"
|
||||
IsChecked="{Binding RotY}"
|
||||
Style="{StaticResource ToolBar_ToggleButton}"/>
|
||||
<RadioButton Content="Z"
|
||||
GroupName="Axes"
|
||||
IsChecked="{Binding RotAxes[2]}"
|
||||
IsChecked="{Binding RotZ}"
|
||||
Style="{StaticResource ToolBar_ToggleButton}"/>
|
||||
</UniformGrid>
|
||||
<EgtWPFLib5:EgtTextBox Grid.Row="1"
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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,6 +159,17 @@
|
||||
<DependentUpon>DispositionPanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="DispositionPanel\DispositionPanelVM.vb" />
|
||||
<Compile Include="HelpWnd\HelpWndV.xaml.vb">
|
||||
<DependentUpon>HelpWndV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<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>
|
||||
@@ -183,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>
|
||||
@@ -255,6 +306,7 @@
|
||||
<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>
|
||||
@@ -299,6 +351,14 @@
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<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>
|
||||
@@ -371,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>
|
||||
@@ -498,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>
|
||||
@@ -631,15 +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="New part list"
|
||||
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="Imported entity list"
|
||||
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,443 +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 ImportPartIndex = 0 To m_ImportPartList.Count - 1
|
||||
Dim ImportPart As ImportPart = m_ImportPartList(ImportPartIndex)
|
||||
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
|
||||
Dim nOthersLayerId 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
|
||||
nOthersLayerId = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nOthersLayerId, LAY_OTHERS)
|
||||
For Each GeomEntity In ImportLayer.EntityList
|
||||
EgtRelocateGlob(GeomEntity.nId, nOthersLayerId, GDB_POS.LAST_SON)
|
||||
Next
|
||||
If ImportPartIndex = 0 Then
|
||||
For Each GeomEntity In ImportedEntityList
|
||||
' se curva
|
||||
Dim EntityType As GDB_TY = EgtGetType(GeomEntity.nId)
|
||||
Select Case EntityType
|
||||
Case GDB_TY.CRV_ARC, GDB_TY.CRV_BEZ, GDB_TY.CRV_LINE
|
||||
' la trasformo in curva compo
|
||||
EgtCreateCurveCompo(nOthersLayerId, GeomEntity.nId, True)
|
||||
Case Else
|
||||
' altrimenti la sposto solamente
|
||||
EgtRelocateGlob(GeomEntity.nId, nOthersLayerId, GDB_POS.LAST_SON)
|
||||
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())
|
||||
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, 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)
|
||||
|
||||
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,4 +1,5 @@
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports System.Collections.Specialized
|
||||
Imports System.ComponentModel
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
@@ -9,7 +10,8 @@ Public Class Machining
|
||||
Public Enum MPAR_SLICINGTYPE As Integer
|
||||
VERTICAL = 1
|
||||
DEG45 = 2
|
||||
HORIZONTAL = 3
|
||||
DEG45_Y = 3
|
||||
HORIZONTAL = 4
|
||||
End Enum
|
||||
|
||||
Public Enum MPAR_STRANDORDERS As Integer
|
||||
@@ -38,6 +40,7 @@ Public Class Machining
|
||||
INTERNAL = 1
|
||||
EXTERNAL = 2
|
||||
UNBOUNDED = 3
|
||||
SUPPORT = 4
|
||||
End Enum
|
||||
|
||||
Public Enum MPAR_INFILL As Integer
|
||||
@@ -46,6 +49,19 @@ Public Class Machining
|
||||
ZIGZAG = 3
|
||||
End Enum
|
||||
|
||||
Public Enum MPAR_DYNAMIC_MODE As Integer
|
||||
STANDARD = 1
|
||||
FAST = 2
|
||||
End Enum
|
||||
|
||||
Public Enum MPAR_PRINT_ORDER As Integer
|
||||
SHELL = 1
|
||||
EXTRA_SHELL = 2
|
||||
INFILL = 3
|
||||
AUX_SOLID = 4
|
||||
RIB = 5
|
||||
End Enum
|
||||
|
||||
Protected m_CathegoryList As New ObservableCollection(Of MachiningCathegory)
|
||||
Public ReadOnly Property CathegoryList As ObservableCollection(Of MachiningCathegory)
|
||||
Get
|
||||
@@ -70,6 +86,9 @@ Public Class Machining
|
||||
Return m_nIndex
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetIndex(nValue As Integer)
|
||||
m_nIndex = nValue
|
||||
End Sub
|
||||
|
||||
Protected m_sGUID As String = ""
|
||||
Public Property sGUID As String
|
||||
@@ -184,18 +203,19 @@ Public Class Machining
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Friend Sub WriteParamsOnDb(nIndex As Integer)
|
||||
WriteMachiningParam(nIndex, MAC_GUID, m_sGUID)
|
||||
WriteMachiningParam(nIndex, MAC_NAME, m_sName)
|
||||
Friend Sub WriteParamsOnDb(nIndex As Integer, Optional sFilePath As String = "")
|
||||
WriteMachiningParam(nIndex, MAC_GUID, m_sGUID, sFilePath)
|
||||
WriteMachiningParam(nIndex, MAC_NAME, m_sName, sFilePath)
|
||||
For Each Cathegory In m_CathegoryList
|
||||
Cathegory.WriteParamOnDb(nIndex)
|
||||
Cathegory.WriteParamOnDb(nIndex, sFilePath)
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Friend Overridable 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)
|
||||
UpdateIsModified()
|
||||
Map.refMachiningDbVM.NotifyPropertyChanged(NameOf(Map.refMachiningDbVM.ImpExp_IsEnabled))
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -303,8 +323,11 @@ Public Class MachiningCathegory
|
||||
New ComboMachiningParam(MachiningParam.Params.DIRECTION, nIndex),
|
||||
New NumericMachiningParam(MachiningParam.Params.FLOORCOUNT, nIndex),
|
||||
New NumericMachiningParam(MachiningParam.Params.G0FEED, nIndex),
|
||||
New NumericMachiningParam(MachiningParam.Params.G0FEEDZ, nIndex),
|
||||
New NumericMachiningParam(MachiningParam.Params.TOOLDIAM, nIndex),
|
||||
New NumericMachiningParam(MachiningParam.Params.FLOWRATE_PC, nIndex)})
|
||||
New NumericMachiningParam(MachiningParam.Params.FLOWRATE_PC, nIndex),
|
||||
New ComboMachiningParam(MachiningParam.Params.DYNAMIC_MODE, nIndex),
|
||||
New OrderedMachiningParam(MachiningParam.Params.PRINT_ORDER, nIndex)})
|
||||
Case Cathegories.LINK
|
||||
m_sName = "Shell"
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New ComboMachiningParam(MachiningParam.Params.LINKTYPE, nIndex),
|
||||
@@ -320,8 +343,8 @@ Public Class MachiningCathegory
|
||||
New NumericMachiningParam(MachiningParam.Params.COASTINGLEN, nIndex),
|
||||
New NumericMachiningParam(MachiningParam.Params.COASTINGFEED_PC, nIndex),
|
||||
New NumericMachiningParam(MachiningParam.Params.WIPELEN, nIndex),
|
||||
New NumericMachiningParam(MachiningParam.Params.WIPEFEED_PC, nIndex),
|
||||
New NumericMachiningParam(MachiningParam.Params.WIPEDIR, nIndex)})
|
||||
New NumericMachiningParam(MachiningParam.Params.WIPEFEED_PC, nIndex)})
|
||||
'New NumericMachiningParam(MachiningParam.Params.WIPEDIR, nIndex)})
|
||||
Case Cathegories.RIBS
|
||||
m_sName = "Ribs"
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New ComboMachiningParam(MachiningParam.Params.RIBSTYPE, nIndex),
|
||||
@@ -378,12 +401,12 @@ Public Class MachiningCathegory
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Friend Sub WriteParamOnDb(nIndex As Integer)
|
||||
Friend Sub WriteParamOnDb(nIndex As Integer, Optional sFilePath As String = "")
|
||||
If Type = Cathegories.MATERIALS Then
|
||||
WriteMachiningParamSplit(nIndex, MAC_MATERIALS, "")
|
||||
WriteMachiningParamSplit(nIndex, MAC_MATERIALS, "", sFilePath)
|
||||
End If
|
||||
For Each Param In m_MachiningParamList
|
||||
Param.WriteParamOnDb(nIndex)
|
||||
Param.WriteParamOnDb(nIndex, sFilePath)
|
||||
Next
|
||||
End Sub
|
||||
|
||||
@@ -418,37 +441,40 @@ Public MustInherit Class MachiningParam
|
||||
WIPEFEED_PC = 24
|
||||
FLOORCOUNT = 25
|
||||
G0FEED = 26
|
||||
TOOLDIAM = 27
|
||||
RIBSTYPE = 28
|
||||
RIBSOVERLAP = 29
|
||||
RIBSSTRANDCOUNT = 30
|
||||
RIBSLINK = 31
|
||||
RIBSINVERTORDER = 32
|
||||
RIBSINVERTDIRECTION = 33
|
||||
RIBSLEADININVERT = 34
|
||||
RIBSLEADINLEN = 35
|
||||
RIBSLEADOUTINVERT = 36
|
||||
RIBSLEADOUTLEN = 37
|
||||
RIBSLEADOUTCOASTING = 38
|
||||
RIBSLEADOUTWIPE = 39
|
||||
RIBSLEADOUTWIPEDIR = 40
|
||||
SHELLNBRDIFFERENCE = 41
|
||||
SHELLNBRCOASTING = 42
|
||||
SHELLNBRWIPE = 43
|
||||
SHELLNBRWIPEDIR = 44
|
||||
AUXSOLIDSOVERLAP = 45
|
||||
AUXSOLIDSINFILL = 46
|
||||
AUXSOLIDSSTRANDORDER = 47
|
||||
AUXSOLIDSLINKTYPE = 48
|
||||
AUXSOLIDSLINKPARAM = 49
|
||||
AUXSOLIDSSTARTPOINTOFFSETONSLICE = 50
|
||||
AUXSOLIDSCOASTINGLEN = 51
|
||||
AUXSOLIDSWIPELEN = 52
|
||||
AUXSOLIDSWIPEDIR = 53
|
||||
SPIRALVASE = 54
|
||||
WIPEDIR = 55
|
||||
STRANDOVERLAP = 56
|
||||
FLOWRATE_PC = 57
|
||||
G0FEEDZ = 27
|
||||
TOOLDIAM = 28
|
||||
RIBSTYPE = 29
|
||||
RIBSOVERLAP = 30
|
||||
RIBSSTRANDCOUNT = 31
|
||||
RIBSLINK = 32
|
||||
RIBSINVERTORDER = 33
|
||||
RIBSINVERTDIRECTION = 34
|
||||
RIBSLEADININVERT = 35
|
||||
RIBSLEADINLEN = 36
|
||||
RIBSLEADOUTINVERT = 37
|
||||
RIBSLEADOUTLEN = 38
|
||||
RIBSLEADOUTCOASTING = 39
|
||||
RIBSLEADOUTWIPE = 40
|
||||
RIBSLEADOUTWIPEDIR = 41
|
||||
SHELLNBRDIFFERENCE = 42
|
||||
SHELLNBRCOASTING = 43
|
||||
SHELLNBRWIPE = 44
|
||||
SHELLNBRWIPEDIR = 45
|
||||
AUXSOLIDSOVERLAP = 46
|
||||
AUXSOLIDSINFILL = 47
|
||||
AUXSOLIDSSTRANDORDER = 48
|
||||
AUXSOLIDSLINKTYPE = 49
|
||||
AUXSOLIDSLINKPARAM = 50
|
||||
AUXSOLIDSSTARTPOINTOFFSETONSLICE = 51
|
||||
AUXSOLIDSCOASTINGLEN = 52
|
||||
AUXSOLIDSWIPELEN = 53
|
||||
AUXSOLIDSWIPEDIR = 54
|
||||
SPIRALVASE = 55
|
||||
'WIPEDIR = 56
|
||||
STRANDOVERLAP = 57
|
||||
FLOWRATE_PC = 58
|
||||
DYNAMIC_MODE = 59
|
||||
PRINT_ORDER = 60
|
||||
MATERIALS = 100
|
||||
End Enum
|
||||
|
||||
@@ -519,6 +545,8 @@ Public MustInherit Class MachiningParam
|
||||
m_sName = "Floor Count"
|
||||
Case Params.G0FEED
|
||||
m_sName = "G0 Feed"
|
||||
Case Params.G0FEEDZ
|
||||
m_sName = "G0 Feed Z"
|
||||
Case Params.TOOLDIAM
|
||||
m_sName = "Nozzle Diameter"
|
||||
Case Params.RIBSTYPE
|
||||
@@ -575,12 +603,16 @@ Public MustInherit Class MachiningParam
|
||||
m_sName = "Wipe Direction [deg]"
|
||||
Case Params.SPIRALVASE
|
||||
m_sName = "Spiral Vase"
|
||||
Case Params.WIPEDIR
|
||||
m_sName = "Wipe Direction [deg]"
|
||||
'Case Params.WIPEDIR
|
||||
' m_sName = "Wipe Direction [deg]"
|
||||
Case Params.STRANDOVERLAP
|
||||
m_sName = "Strand Overlap [%]"
|
||||
Case Params.FLOWRATE_PC
|
||||
m_sName = "Flow rate [%]"
|
||||
Case Params.DYNAMIC_MODE
|
||||
m_sName = "Dynamic Mode"
|
||||
Case Params.PRINT_ORDER
|
||||
m_sName = "Print Order"
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -589,7 +621,7 @@ Public MustInherit Class MachiningParam
|
||||
m_sName = sName
|
||||
End Sub
|
||||
|
||||
Friend MustOverride Sub WriteParamOnDb(nIndex As Integer)
|
||||
Friend MustOverride Sub WriteParamOnDb(nIndex As Integer, Optional sFilePath As String = "")
|
||||
Friend Overridable Sub WriteParamInPart(nIndex As Integer)
|
||||
End Sub
|
||||
Friend MustOverride Sub SaveParam()
|
||||
@@ -610,13 +642,13 @@ Public Class NumericMachiningParam
|
||||
End Property
|
||||
Public Overridable Property sValue As String
|
||||
Get
|
||||
Return If(m_bIsLen, LenToString(m_dValue, 1), DoubleToString( m_dValue, 2))
|
||||
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
|
||||
StringToDouble( value, m_dValue)
|
||||
StringToDouble(value, m_dValue)
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(sValue))
|
||||
End Set
|
||||
@@ -654,13 +686,13 @@ Public Class NumericMachiningParam
|
||||
m_bIsLen = True
|
||||
Case Params.STRANDCOUNT
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_STRANDCOUNT, 0)
|
||||
m_bIsLen = True
|
||||
m_bIsLen = False
|
||||
Case Params.OFFSET
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_OFFSET, 0)
|
||||
m_bIsLen = True
|
||||
Case Params.STRANDOVERLAP
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_STRANDOVERLAP, 0)
|
||||
m_bIsLen = True
|
||||
m_bIsLen = False
|
||||
Case Params.STARTPOINTOFFSETONSLICE
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_STARTPOINTOFFSETONSLICE, 0)
|
||||
m_bIsLen = True
|
||||
@@ -697,24 +729,27 @@ Public Class NumericMachiningParam
|
||||
Case Params.WIPEFEED_PC
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_WIPEFEEDPU, 0)
|
||||
m_bIsLen = False
|
||||
Case Params.WIPEDIR
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_WIPEDIR, 0)
|
||||
m_bIsLen = True
|
||||
'Case Params.WIPEDIR
|
||||
' m_dValue = ReadMachiningParamDouble(nIndex, MAC_WIPEDIR, 0)
|
||||
' m_bIsLen = True
|
||||
Case Params.FLOORCOUNT
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_FLOORCOUNT, 0)
|
||||
m_bIsLen = False
|
||||
Case Params.G0FEED
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_G0FEED, 0)
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_G0FEED, 10000)
|
||||
m_bIsLen = True
|
||||
Case Params.G0FEEDZ
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_G0FEEDZ, 1000)
|
||||
m_bIsLen = True
|
||||
Case Params.TOOLDIAM
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_TOOLDIAM, 0)
|
||||
m_bIsLen = True
|
||||
Case Params.RIBSOVERLAP
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSOVERLAP, 0)
|
||||
m_bIsLen = True
|
||||
m_bIsLen = False
|
||||
Case Params.RIBSSTRANDCOUNT
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSSTRANDCOUNT, 0)
|
||||
m_bIsLen = True
|
||||
m_bIsLen = False
|
||||
Case Params.RIBSLEADINLEN
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLEADINLEN, 0)
|
||||
m_bIsLen = True
|
||||
@@ -729,10 +764,10 @@ Public Class NumericMachiningParam
|
||||
m_bIsLen = True
|
||||
Case Params.RIBSLEADOUTWIPEDIR
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLEADOUTWIPEDIR, 0)
|
||||
m_bIsLen = True
|
||||
m_bIsLen = False
|
||||
Case Params.SHELLNBRDIFFERENCE
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_SHELLNBRDIFFERENCE, 0)
|
||||
m_bIsLen = True
|
||||
m_bIsLen = False
|
||||
Case Params.SHELLNBRCOASTING
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_SHELLNBRCOASTING, 0)
|
||||
m_bIsLen = True
|
||||
@@ -741,10 +776,10 @@ Public Class NumericMachiningParam
|
||||
m_bIsLen = True
|
||||
Case Params.SHELLNBRWIPEDIR
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_SHELLNBRWIPEDIR, 0)
|
||||
m_bIsLen = True
|
||||
m_bIsLen = False
|
||||
Case Params.AUXSOLIDSOVERLAP
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSOVERLAP, 0)
|
||||
m_bIsLen = True
|
||||
m_bIsLen = False
|
||||
Case Params.AUXSOLIDSLINKPARAM
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSLINKPARAM, 0)
|
||||
m_bIsLen = True
|
||||
@@ -759,7 +794,7 @@ Public Class NumericMachiningParam
|
||||
m_bIsLen = True
|
||||
Case Params.AUXSOLIDSWIPEDIR
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSWIPEDIR, 0)
|
||||
m_bIsLen = True
|
||||
m_bIsLen = False
|
||||
Case Params.FLOWRATE_PC
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_CONSTANT, 100)
|
||||
m_bIsLen = False
|
||||
@@ -768,7 +803,7 @@ Public Class NumericMachiningParam
|
||||
m_dOrigValue = m_dValue
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub WriteParamOnDb(nIndex As Integer)
|
||||
Friend Overrides Sub WriteParamOnDb(nIndex As Integer, Optional sFilePath As String = "")
|
||||
Dim sWriteValue As String = ""
|
||||
If m_bIsLen Then
|
||||
sWriteValue = LenToString(m_dValue, 2)
|
||||
@@ -777,83 +812,85 @@ Public Class NumericMachiningParam
|
||||
End If
|
||||
Select Case Type
|
||||
Case Params.STRANDH
|
||||
WriteMachiningParam(nIndex, MAC_STRANDH, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_STRANDH, sWriteValue, sFilePath)
|
||||
Case Params.STRANDW
|
||||
WriteMachiningParam(nIndex, MAC_STRANDW, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_STRANDW, sWriteValue, sFilePath)
|
||||
Case Params.STRANDCOUNT
|
||||
WriteMachiningParam(nIndex, MAC_STRANDCOUNT, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_STRANDCOUNT, sWriteValue, sFilePath)
|
||||
Case Params.OFFSET
|
||||
WriteMachiningParam(nIndex, MAC_OFFSET, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_OFFSET, sWriteValue, sFilePath)
|
||||
Case Params.STRANDOVERLAP
|
||||
WriteMachiningParam(nIndex, MAC_STRANDOVERLAP, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_STRANDOVERLAP, sWriteValue, sFilePath)
|
||||
Case Params.STARTPOINTOFFSETONSLICE
|
||||
WriteMachiningParam(nIndex, MAC_STARTPOINTOFFSETONSLICE, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_STARTPOINTOFFSETONSLICE, sWriteValue, sFilePath)
|
||||
Case Params.LINKPARAM
|
||||
WriteMachiningParam(nIndex, MAC_LINKPARAM, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_LINKPARAM, sWriteValue, sFilePath)
|
||||
Case Params.LINKZUP
|
||||
WriteMachiningParam(nIndex, MAC_LINKZUP, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_LINKZUP, sWriteValue, sFilePath)
|
||||
Case Params.OFFSETLEADPOINT
|
||||
WriteMachiningParam(nIndex, MAC_OFFSETLEADPOINT, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_OFFSETLEADPOINT, sWriteValue, sFilePath)
|
||||
Case Params.LEADINTANGDIST
|
||||
WriteMachiningParam(nIndex, MAC_LEADINTANGDIST, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_LEADINTANGDIST, sWriteValue, sFilePath)
|
||||
Case Params.LEADINORTHODIST
|
||||
WriteMachiningParam(nIndex, MAC_LEADINORTHODIST, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_LEADINORTHODIST, sWriteValue, sFilePath)
|
||||
Case Params.LEADOUTTANGDIST
|
||||
WriteMachiningParam(nIndex, MAC_LEADOUTTANGDIST, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_LEADOUTTANGDIST, sWriteValue, sFilePath)
|
||||
Case Params.LEADOUTORTHODIST
|
||||
WriteMachiningParam(nIndex, MAC_LEADOUTORTHODIST, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_LEADOUTORTHODIST, sWriteValue, sFilePath)
|
||||
Case Params.COASTINGLEN
|
||||
WriteMachiningParam(nIndex, MAC_COASTINGLEN, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_COASTINGLEN, sWriteValue, sFilePath)
|
||||
Case Params.COASTINGFEED_PC
|
||||
WriteMachiningParam(nIndex, MAC_COASTINGFEEDPU, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_COASTINGFEEDPU, sWriteValue, sFilePath)
|
||||
Case Params.WIPELEN
|
||||
WriteMachiningParam(nIndex, MAC_WIPELEN, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_WIPELEN, sWriteValue, sFilePath)
|
||||
Case Params.WIPEFEED_PC
|
||||
WriteMachiningParam(nIndex, MAC_WIPEFEEDPU, sWriteValue)
|
||||
Case Params.WIPEDIR
|
||||
WriteMachiningParam(nIndex, MAC_WIPEDIR, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_WIPEFEEDPU, sWriteValue, sFilePath)
|
||||
'Case Params.WIPEDIR
|
||||
' WriteMachiningParam(nIndex, MAC_WIPEDIR, sWriteValue, sFilePath)
|
||||
Case Params.FLOORCOUNT
|
||||
WriteMachiningParam(nIndex, MAC_FLOORCOUNT, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_FLOORCOUNT, sWriteValue, sFilePath)
|
||||
Case Params.G0FEED
|
||||
WriteMachiningParam(nIndex, MAC_G0FEED, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_G0FEED, sWriteValue, sFilePath)
|
||||
Case Params.G0FEEDZ
|
||||
WriteMachiningParam(nIndex, MAC_G0FEEDZ, sWriteValue, sFilePath)
|
||||
Case Params.TOOLDIAM
|
||||
WriteMachiningParam(nIndex, MAC_TOOLDIAM, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_TOOLDIAM, sWriteValue, sFilePath)
|
||||
Case Params.RIBSOVERLAP
|
||||
WriteMachiningParam(nIndex, MAC_RIBSOVERLAP, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_RIBSOVERLAP, sWriteValue, sFilePath)
|
||||
Case Params.RIBSSTRANDCOUNT
|
||||
WriteMachiningParam(nIndex, MAC_RIBSSTRANDCOUNT, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_RIBSSTRANDCOUNT, sWriteValue, sFilePath)
|
||||
Case Params.RIBSLEADINLEN
|
||||
WriteMachiningParam(nIndex, MAC_RIBSLEADINLEN, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_RIBSLEADINLEN, sWriteValue, sFilePath)
|
||||
Case Params.RIBSLEADOUTLEN
|
||||
WriteMachiningParam(nIndex, MAC_RIBSLEADOUTLEN, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_RIBSLEADOUTLEN, sWriteValue, sFilePath)
|
||||
Case Params.RIBSLEADOUTCOASTING
|
||||
WriteMachiningParam(nIndex, MAC_RIBSLEADOUTCOASTING, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_RIBSLEADOUTCOASTING, sWriteValue, sFilePath)
|
||||
Case Params.RIBSLEADOUTWIPE
|
||||
WriteMachiningParam(nIndex, MAC_RIBSLEADOUTWIPE, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_RIBSLEADOUTWIPE, sWriteValue, sFilePath)
|
||||
Case Params.RIBSLEADOUTWIPEDIR
|
||||
WriteMachiningParam(nIndex, MAC_RIBSLEADOUTWIPEDIR, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_RIBSLEADOUTWIPEDIR, sWriteValue, sFilePath)
|
||||
Case Params.SHELLNBRDIFFERENCE
|
||||
WriteMachiningParam(nIndex, MAC_SHELLNBRDIFFERENCE, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_SHELLNBRDIFFERENCE, sWriteValue, sFilePath)
|
||||
Case Params.SHELLNBRCOASTING
|
||||
WriteMachiningParam(nIndex, MAC_SHELLNBRCOASTING, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_SHELLNBRCOASTING, sWriteValue, sFilePath)
|
||||
Case Params.SHELLNBRWIPE
|
||||
WriteMachiningParam(nIndex, MAC_SHELLNBRWIPE, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_SHELLNBRWIPE, sWriteValue, sFilePath)
|
||||
Case Params.SHELLNBRWIPEDIR
|
||||
WriteMachiningParam(nIndex, MAC_SHELLNBRWIPEDIR, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_SHELLNBRWIPEDIR, sWriteValue, sFilePath)
|
||||
Case Params.AUXSOLIDSOVERLAP
|
||||
WriteMachiningParam(nIndex, MAC_AUXSOLIDSOVERLAP, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_AUXSOLIDSOVERLAP, sWriteValue, sFilePath)
|
||||
Case Params.AUXSOLIDSLINKPARAM
|
||||
WriteMachiningParam(nIndex, MAC_AUXSOLIDSLINKPARAM, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_AUXSOLIDSLINKPARAM, sWriteValue, sFilePath)
|
||||
Case Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE
|
||||
WriteMachiningParam(nIndex, MAC_AUXSOLIDSSTARTPOINTOFFSETONSLICE, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_AUXSOLIDSSTARTPOINTOFFSETONSLICE, sWriteValue, sFilePath)
|
||||
Case Params.AUXSOLIDSCOASTINGLEN
|
||||
WriteMachiningParam(nIndex, MAC_AUXSOLIDSCOASTINGLEN, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_AUXSOLIDSCOASTINGLEN, sWriteValue, sFilePath)
|
||||
Case Params.AUXSOLIDSWIPELEN
|
||||
WriteMachiningParam(nIndex, MAC_AUXSOLIDSWIPELEN, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_AUXSOLIDSWIPELEN, sWriteValue, sFilePath)
|
||||
Case Params.AUXSOLIDSWIPEDIR
|
||||
WriteMachiningParam(nIndex, MAC_AUXSOLIDSWIPEDIR, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_AUXSOLIDSWIPEDIR, sWriteValue, sFilePath)
|
||||
Case Params.FLOWRATE_PC
|
||||
WriteMachiningParam(nIndex, MAC_CONSTANT, sWriteValue)
|
||||
WriteMachiningParam(nIndex, MAC_CONSTANT, sWriteValue, sFilePath)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -901,10 +938,10 @@ Public Class StringMachiningParam
|
||||
m_sOrigValue = m_sValue
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub WriteParamOnDb(nIndex As Integer)
|
||||
Friend Overrides Sub WriteParamOnDb(nIndex As Integer, Optional sFilePath As String = "")
|
||||
Select Case Type
|
||||
Case Params.STRANDH
|
||||
'WritePrivateProfileString(nIndex, MAC_STRANDH, sWriteValue)
|
||||
'WritePrivateProfileString(nIndex, MAC_STRANDH, sWriteValue, sFilePath)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -965,11 +1002,16 @@ Public Class ComboMachiningParam
|
||||
Else
|
||||
Select Case Type
|
||||
Case Params.SLICINGTYPE
|
||||
Dim nHorizontalPrint As Integer = GetPrivateProfileInt(S_MACH_PRINTING3D, K_HORIZONTAL_PRINT, 0, CurrentMachine.sMachIniFile)
|
||||
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_SLICINGTYPE.VERTICAL, "Vertical"),
|
||||
New IdNameStruct(Machining.MPAR_SLICINGTYPE.DEG45, "45°")})
|
||||
If nHorizontalPrint > 0 Then
|
||||
m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.HORIZONTAL, "Horizontal"))
|
||||
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 Double = ReadMachiningParamDouble(nIndex, MAC_SLICINGTYPE, -1)
|
||||
If nSelValue = -1 Then
|
||||
@@ -980,73 +1022,80 @@ Public Class ComboMachiningParam
|
||||
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")})
|
||||
New IdNameStruct(Machining.MPAR_STRANDORDERS.INTOOUT, "From Inside To Outside")})
|
||||
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_STRANDORDER, 0))
|
||||
Case Params.DIRECTION
|
||||
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_DIRECTIONS.CCW, "Counterclockwise"),
|
||||
New IdNameStruct(Machining.MPAR_DIRECTIONS.CW, "Clockwise")})
|
||||
New IdNameStruct(Machining.MPAR_DIRECTIONS.CW, "Clockwise")})
|
||||
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_DIRECTION, 0))
|
||||
Case Params.LINKTYPE
|
||||
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_LINKTYPES.NONE, "None"),
|
||||
New IdNameStruct(Machining.MPAR_LINKTYPES.LINEAR, "Linear"),
|
||||
New IdNameStruct(Machining.MPAR_LINKTYPES.BIARC, "Biarc")})
|
||||
New IdNameStruct(Machining.MPAR_LINKTYPES.LINEAR, "Linear"),
|
||||
New IdNameStruct(Machining.MPAR_LINKTYPES.BIARC, "Biarc")})
|
||||
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_LINKTYPE, 0))
|
||||
Case Params.LEADIN
|
||||
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_LEADINOUT.NONE, "None"),
|
||||
New IdNameStruct(Machining.MPAR_LEADINOUT.LINEAR, "Linear"),
|
||||
New IdNameStruct(Machining.MPAR_LEADINOUT.ARC, "Arc")})
|
||||
New IdNameStruct(Machining.MPAR_LEADINOUT.LINEAR, "Linear"),
|
||||
New IdNameStruct(Machining.MPAR_LEADINOUT.ARC, "Arc")})
|
||||
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_LEADIN, 0))
|
||||
Case Params.LEADOUT
|
||||
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_LEADINOUT.NONE, "None"),
|
||||
New IdNameStruct(Machining.MPAR_LEADINOUT.LINEAR, "Linear"),
|
||||
New IdNameStruct(Machining.MPAR_LEADINOUT.ARC, "Arc")})
|
||||
New IdNameStruct(Machining.MPAR_LEADINOUT.LINEAR, "Linear"),
|
||||
New IdNameStruct(Machining.MPAR_LEADINOUT.ARC, "Arc")})
|
||||
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_LEADOUT, 0))
|
||||
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.EXTERNAL, "External"),
|
||||
New IdNameStruct(Machining.MPAR_RIBSTYPE.UNBOUNDED, "Unbounded"),
|
||||
New IdNameStruct(Machining.MPAR_RIBSTYPE.SUPPORT, "Support")})
|
||||
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_RIBSTYPE, 1))
|
||||
Case Params.AUXSOLIDSINFILL
|
||||
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_INFILL.NONE, "None"),
|
||||
New IdNameStruct(Machining.MPAR_INFILL.OFFSET, "Offset"),
|
||||
New IdNameStruct(Machining.MPAR_INFILL.ZIGZAG, "ZigZag")})
|
||||
New IdNameStruct(Machining.MPAR_INFILL.OFFSET, "Offset"),
|
||||
New IdNameStruct(Machining.MPAR_INFILL.ZIGZAG, "ZigZag")})
|
||||
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSINFILL, 0))
|
||||
Case Params.AUXSOLIDSSTRANDORDER
|
||||
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")})
|
||||
New IdNameStruct(Machining.MPAR_STRANDORDERS.INTOOUT, "From Inside To Outside")})
|
||||
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSSTRANDORDER, 0))
|
||||
Case Params.AUXSOLIDSLINKTYPE
|
||||
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_LINKTYPES.NONE, "None"),
|
||||
New IdNameStruct(Machining.MPAR_LINKTYPES.LINEAR, "Linear"),
|
||||
New IdNameStruct(Machining.MPAR_LINKTYPES.BIARC, "Biarc")})
|
||||
New IdNameStruct(Machining.MPAR_LINKTYPES.LINEAR, "Linear"),
|
||||
New IdNameStruct(Machining.MPAR_LINKTYPES.BIARC, "Biarc")})
|
||||
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSLINKTYPE, 0))
|
||||
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")})
|
||||
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMachiningParamDouble(nIndex, MAC_DYNAMICMODE, 1))
|
||||
End Select
|
||||
End If
|
||||
m_OrigSelValue = m_SelValue
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub WriteParamOnDb(nIndex As Integer)
|
||||
Friend Overrides Sub WriteParamOnDb(nIndex As Integer, Optional sFilePath As String = "")
|
||||
Select Case Type
|
||||
Case Params.SLICINGTYPE
|
||||
WriteMachiningParam(nIndex, MAC_SLICINGTYPE, m_SelValue.Id)
|
||||
WriteMachiningParam(nIndex, MAC_SLICINGTYPE, m_SelValue.Id, sFilePath)
|
||||
Case Params.STRANDORDER
|
||||
WriteMachiningParam(nIndex, MAC_STRANDORDER, m_SelValue.Id)
|
||||
WriteMachiningParam(nIndex, MAC_STRANDORDER, m_SelValue.Id, sFilePath)
|
||||
Case Params.DIRECTION
|
||||
WriteMachiningParam(nIndex, MAC_DIRECTION, m_SelValue.Id)
|
||||
WriteMachiningParam(nIndex, MAC_DIRECTION, m_SelValue.Id, sFilePath)
|
||||
Case Params.LINKTYPE
|
||||
WriteMachiningParam(nIndex, MAC_LINKTYPE, m_SelValue.Id)
|
||||
WriteMachiningParam(nIndex, MAC_LINKTYPE, m_SelValue.Id, sFilePath)
|
||||
Case Params.LEADIN
|
||||
WriteMachiningParam(nIndex, MAC_LEADIN, m_SelValue.Id)
|
||||
WriteMachiningParam(nIndex, MAC_LEADIN, m_SelValue.Id, sFilePath)
|
||||
Case Params.LEADOUT
|
||||
WriteMachiningParam(nIndex, MAC_LEADOUT, m_SelValue.Id)
|
||||
WriteMachiningParam(nIndex, MAC_LEADOUT, m_SelValue.Id, sFilePath)
|
||||
Case Params.RIBSTYPE
|
||||
WriteMachiningParam(nIndex, MAC_RIBSTYPE, m_SelValue.Id)
|
||||
WriteMachiningParam(nIndex, MAC_RIBSTYPE, m_SelValue.Id, sFilePath)
|
||||
Case Params.AUXSOLIDSINFILL
|
||||
WriteMachiningParam(nIndex, MAC_AUXSOLIDSINFILL, m_SelValue.Id)
|
||||
WriteMachiningParam(nIndex, MAC_AUXSOLIDSINFILL, m_SelValue.Id, sFilePath)
|
||||
Case Params.AUXSOLIDSSTRANDORDER
|
||||
WriteMachiningParam(nIndex, MAC_AUXSOLIDSSTRANDORDER, m_SelValue.Id)
|
||||
WriteMachiningParam(nIndex, MAC_AUXSOLIDSSTRANDORDER, m_SelValue.Id, sFilePath)
|
||||
Case Params.AUXSOLIDSLINKTYPE
|
||||
WriteMachiningParam(nIndex, MAC_AUXSOLIDSLINKTYPE, m_SelValue.Id)
|
||||
WriteMachiningParam(nIndex, MAC_AUXSOLIDSLINKTYPE, m_SelValue.Id, sFilePath)
|
||||
Case Params.DYNAMIC_MODE
|
||||
WriteMachiningParam(nIndex, MAC_DYNAMICMODE, m_SelValue.Id, sFilePath)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -1115,20 +1164,20 @@ Public Class CheckMachiningParam
|
||||
m_bOrigValue = m_bValue
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub WriteParamOnDb(nIndex As Integer)
|
||||
Friend Overrides Sub WriteParamOnDb(nIndex As Integer, Optional sFilePath As String = "")
|
||||
Select Case Type
|
||||
Case Params.SPIRALVASE
|
||||
WriteMachiningParam(nIndex, MAC_SPIRALVASE, If(m_bValue, 1, 0))
|
||||
WriteMachiningParam(nIndex, MAC_SPIRALVASE, If(m_bValue, 1, 0), sFilePath)
|
||||
Case Params.RIBSLINK
|
||||
WriteMachiningParam(nIndex, MAC_RIBSLINK, If(m_bValue, 1, 0))
|
||||
WriteMachiningParam(nIndex, MAC_RIBSLINK, If(m_bValue, 1, 0), sFilePath)
|
||||
Case Params.RIBSINVERTORDER
|
||||
WriteMachiningParam(nIndex, MAC_RIBSINVERTORDER, If(m_bValue, 1, 0))
|
||||
WriteMachiningParam(nIndex, MAC_RIBSINVERTORDER, If(m_bValue, 1, 0), sFilePath)
|
||||
Case Params.RIBSINVERTDIRECTION
|
||||
WriteMachiningParam(nIndex, MAC_RIBSINVERTDIRECTION, If(m_bValue, 1, 0))
|
||||
WriteMachiningParam(nIndex, MAC_RIBSINVERTDIRECTION, If(m_bValue, 1, 0), sFilePath)
|
||||
Case Params.RIBSLEADININVERT
|
||||
WriteMachiningParam(nIndex, MAC_RIBSLEADININVERT, If(m_bValue, 1, 0))
|
||||
WriteMachiningParam(nIndex, MAC_RIBSLEADININVERT, If(m_bValue, 1, 0), sFilePath)
|
||||
Case Params.RIBSLEADOUTINVERT
|
||||
WriteMachiningParam(nIndex, MAC_RIBSLEADOUTINVERT, If(m_bValue, 1, 0))
|
||||
WriteMachiningParam(nIndex, MAC_RIBSLEADOUTINVERT, If(m_bValue, 1, 0), sFilePath)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -1187,9 +1236,9 @@ Public Class MaterialMachiningParam
|
||||
m_bOrigValue = m_bValue
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub WriteParamOnDb(nIndex As Integer)
|
||||
Friend Overrides Sub WriteParamOnDb(nIndex As Integer, Optional sFilePath As String = "")
|
||||
Dim sMaterials As String = ""
|
||||
ReadMachiningParamSplit(nIndex, MAC_MATERIALS, "", sMaterials)
|
||||
ReadMachiningParamSplit(nIndex, MAC_MATERIALS, "", sMaterials, sFilePath)
|
||||
Dim MaterialGuidList As New List(Of String)
|
||||
If Not String.IsNullOrWhiteSpace(sMaterials) Then
|
||||
MaterialGuidList = sMaterials.Split(";"c).ToList()
|
||||
@@ -1203,7 +1252,7 @@ Public Class MaterialMachiningParam
|
||||
For Index = 0 To MaterialGuidList.Count - 1
|
||||
sMaterials &= MaterialGuidList(Index) & If(Index < MaterialGuidList.Count - 1, ";"c, "")
|
||||
Next
|
||||
WriteMachiningParamSplit(nIndex, MAC_MATERIALS, sMaterials)
|
||||
WriteMachiningParamSplit(nIndex, MAC_MATERIALS, sMaterials, sFilePath)
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub SaveParam()
|
||||
@@ -1217,3 +1266,208 @@ Public Class MaterialMachiningParam
|
||||
|
||||
End Class
|
||||
|
||||
Public Class OrderedMachiningParam
|
||||
Inherits MachiningParam
|
||||
|
||||
Protected m_ValueList As ObservableCollection(Of IdNameStruct)
|
||||
Public ReadOnly Property ValueList As ObservableCollection(Of IdNameStruct)
|
||||
Get
|
||||
Return m_ValueList
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Protected m_SelValue As IdNameStruct
|
||||
Public Overridable Property SelValue As IdNameStruct
|
||||
Get
|
||||
Return m_SelValue
|
||||
End Get
|
||||
Set(value As IdNameStruct)
|
||||
m_SelValue = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Protected m_OrigValue As String
|
||||
Public ReadOnly Property OrigValue As String
|
||||
Get
|
||||
Return m_OrigValue
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Property Value As String
|
||||
Get
|
||||
Dim Temp As String = ""
|
||||
For Each Item In m_ValueList
|
||||
Temp &= Item.Id & ","
|
||||
Next
|
||||
Return Temp.TrimEnd(","c)
|
||||
End Get
|
||||
Set(value As String)
|
||||
Select Case Type
|
||||
Case Params.PRINT_ORDER
|
||||
Dim StandardValueList() As String = {Machining.MPAR_PRINT_ORDER.SHELL,
|
||||
Machining.MPAR_PRINT_ORDER.EXTRA_SHELL,
|
||||
Machining.MPAR_PRINT_ORDER.INFILL,
|
||||
Machining.MPAR_PRINT_ORDER.AUX_SOLID,
|
||||
Machining.MPAR_PRINT_ORDER.RIB}
|
||||
Dim StringValueList() As String = StandardValueList
|
||||
If value.Length = 9 Then
|
||||
StringValueList = value.Split(","c)
|
||||
End If
|
||||
If StringValueList.Count <> 5 Then
|
||||
StringValueList = StandardValueList
|
||||
End If
|
||||
If Not StringValueList.Contains(Machining.MPAR_PRINT_ORDER.SHELL) OrElse
|
||||
Not StringValueList.Contains(Machining.MPAR_PRINT_ORDER.EXTRA_SHELL) OrElse
|
||||
Not StringValueList.Contains(Machining.MPAR_PRINT_ORDER.INFILL) OrElse
|
||||
Not StringValueList.Contains(Machining.MPAR_PRINT_ORDER.AUX_SOLID) OrElse
|
||||
Not StringValueList.Contains(Machining.MPAR_PRINT_ORDER.RIB) Then
|
||||
StringValueList = StandardValueList
|
||||
End If
|
||||
m_ValueList.Clear()
|
||||
For Each StringValue In StringValueList
|
||||
Dim nValue As Integer = -1
|
||||
Integer.TryParse(StringValue, nValue)
|
||||
Dim ItemList As IdNameStruct
|
||||
Select Case nValue
|
||||
Case Machining.MPAR_PRINT_ORDER.SHELL
|
||||
ItemList = New IdNameStruct(Machining.MPAR_PRINT_ORDER.SHELL, "Shell")
|
||||
Case Machining.MPAR_PRINT_ORDER.EXTRA_SHELL
|
||||
ItemList = New IdNameStruct(Machining.MPAR_PRINT_ORDER.EXTRA_SHELL, "Extra Shell")
|
||||
Case Machining.MPAR_PRINT_ORDER.INFILL
|
||||
ItemList = New IdNameStruct(Machining.MPAR_PRINT_ORDER.INFILL, "Infill")
|
||||
Case Machining.MPAR_PRINT_ORDER.AUX_SOLID
|
||||
ItemList = New IdNameStruct(Machining.MPAR_PRINT_ORDER.AUX_SOLID, "Filled Solids")
|
||||
Case Machining.MPAR_PRINT_ORDER.RIB
|
||||
ItemList = New IdNameStruct(Machining.MPAR_PRINT_ORDER.RIB, "Ribs")
|
||||
End Select
|
||||
m_ValueList.Add(ItemList)
|
||||
Next
|
||||
End Select
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Overrides ReadOnly Property bIsModified As Boolean
|
||||
Get
|
||||
Return Value <> m_OrigValue
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdMoveUpOrder As ICommand
|
||||
Private m_cmdMoveDownOrder As ICommand
|
||||
Private m_cmdResetOrder As ICommand
|
||||
|
||||
Sub New(Type As Params)
|
||||
MyBase.New(Type)
|
||||
End Sub
|
||||
|
||||
Sub New(Type As Params, nIndex As Integer)
|
||||
MyBase.New(Type)
|
||||
If nIndex = 0 Then
|
||||
m_ValueList = New ObservableCollection(Of IdNameStruct)
|
||||
m_SelValue = Nothing
|
||||
Else
|
||||
Select Case Type
|
||||
Case Params.PRINT_ORDER
|
||||
m_ValueList = New ObservableCollection(Of IdNameStruct)
|
||||
ReadMachiningParamString(nIndex, MAC_PRINTORDER, "", Value)
|
||||
End Select
|
||||
End If
|
||||
m_OrigValue = Value
|
||||
m_SelValue = Nothing
|
||||
NotifyPropertyChanged(NameOf(SelValue))
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub WriteParamOnDb(nIndex As Integer, Optional sFilePath As String = "")
|
||||
Select Case Type
|
||||
Case Params.PRINT_ORDER
|
||||
WriteMachiningParam(nIndex, MAC_PRINTORDER, Value, sFilePath)
|
||||
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 "MoveUpOrder"
|
||||
|
||||
Public ReadOnly Property MoveUpOrder_Command As ICommand
|
||||
Get
|
||||
If m_cmdMoveUpOrder Is Nothing Then
|
||||
m_cmdMoveUpOrder = New Command(AddressOf MoveUpOrder)
|
||||
End If
|
||||
Return m_cmdMoveUpOrder
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub MoveUpOrder()
|
||||
If IsNothing(m_SelValue) Then Return
|
||||
Dim nIndex As Integer = m_ValueList.IndexOf(m_SelValue)
|
||||
If nIndex < 0 Then Return
|
||||
If nIndex > 0 Then
|
||||
m_ValueList.Move(nIndex, nIndex - 1)
|
||||
NotifyPropertyChanged(NameOf(Value))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' MoveUpOrder
|
||||
|
||||
#Region "MoveDownOrder"
|
||||
|
||||
Public ReadOnly Property MoveDownOrder_Command As ICommand
|
||||
Get
|
||||
If m_cmdMoveDownOrder Is Nothing Then
|
||||
m_cmdMoveDownOrder = New Command(AddressOf MoveDownOrder)
|
||||
End If
|
||||
Return m_cmdMoveDownOrder
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub MoveDownOrder()
|
||||
If IsNothing(m_SelValue) Then Return
|
||||
Dim nIndex As Integer = m_ValueList.IndexOf(m_SelValue)
|
||||
If nIndex < 0 Then Return
|
||||
If nIndex < m_ValueList.Count - 1 Then
|
||||
m_ValueList.Move(nIndex, nIndex + 1)
|
||||
NotifyPropertyChanged(NameOf(Value))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' MoveDownOrder
|
||||
|
||||
#Region "ResetOrder"
|
||||
|
||||
Public ReadOnly Property ResetOrder_Command As ICommand
|
||||
Get
|
||||
If m_cmdResetOrder Is Nothing Then
|
||||
m_cmdResetOrder = New Command(AddressOf ResetOrder)
|
||||
End If
|
||||
Return m_cmdResetOrder
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub ResetOrder()
|
||||
Dim CurrValue As String = Value
|
||||
m_ValueList = New ObservableCollection(Of IdNameStruct)(m_ValueList.OrderBy(Function(x) x.Id))
|
||||
If Value <> CurrValue Then
|
||||
SelValue = Nothing
|
||||
NotifyPropertyChanged(NameOf(ValueList))
|
||||
NotifyPropertyChanged(NameOf(Value))
|
||||
NotifyPropertyChanged(NameOf(SelValue))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' ResetOrder
|
||||
|
||||
#End Region ' COMMANDS
|
||||
|
||||
End Class
|
||||
|
||||
@@ -14,20 +14,43 @@
|
||||
<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>
|
||||
<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="1*"/>
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -105,12 +106,20 @@ Public Class MachiningDbVM
|
||||
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
|
||||
|
||||
@@ -138,6 +147,7 @@ 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)
|
||||
@@ -213,7 +223,7 @@ Public Class MachiningDbVM
|
||||
' aggiorno combo top
|
||||
Dim CurrSelTopMachining As MachiningIndex = Map.refTopPanelVM.SelMachining
|
||||
Map.refTopPanelVM.InitMachiningsList()
|
||||
Map.refTopPanelVM.SetSelMachining( CurrSelTopMachining)
|
||||
Map.refTopPanelVM.SetSelMachining(CurrSelTopMachining)
|
||||
End If
|
||||
' ripristino modalita' standard
|
||||
Map.refTopPanelVM.SelPage = Pages.MODIFY
|
||||
@@ -239,6 +249,7 @@ Public Class MachiningDbVM
|
||||
m_SelMachining = NewMachining
|
||||
NotifyPropertyChanged(NameOf(SelMachining))
|
||||
SetNameVisibility(True)
|
||||
SetIsModified(True)
|
||||
End Sub
|
||||
|
||||
#End Region ' New
|
||||
@@ -255,8 +266,9 @@ Public Class MachiningDbVM
|
||||
End Property
|
||||
|
||||
Public Sub Save()
|
||||
If IsNothing( m_SelMachining) Then Return
|
||||
If IsNothing(m_SelMachining) Then Return
|
||||
m_SelMachining.Save()
|
||||
NotifyPropertyChanged(NameOf(ImpExp_IsEnabled))
|
||||
End Sub
|
||||
|
||||
#End Region ' Save
|
||||
@@ -275,7 +287,7 @@ Public Class MachiningDbVM
|
||||
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)
|
||||
@@ -305,6 +317,49 @@ Public Class MachiningDbVM
|
||||
|
||||
#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, 2410, 1, m_nKeyLevel) And
|
||||
EgtGetKeyOptions(3279, 2410, 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())
|
||||
|
||||
@@ -12,7 +12,9 @@
|
||||
End If
|
||||
Case GetType(ManagePart_Layer)
|
||||
LayerItem = DirectCast(e.OriginalSource.DataContext, ManagePart_Layer)
|
||||
e.Handled = True
|
||||
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
|
||||
|
||||
@@ -310,13 +310,14 @@ Public Class ManagePartPanelVM
|
||||
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)
|
||||
' coloro l'entita'
|
||||
EgtSetColor(PrintSolidEntity.nId, GeomEntityColors.c3Print)
|
||||
' elimino colore entita'
|
||||
EgtResetColor(PrintSolidEntity.nId)
|
||||
If PrintSolidEntity.sName <> PrintSolidEntity.nId.ToString() Then
|
||||
EgtSetInfo(PrintSolidEntity.nId, ENTITY_NAME, PrintSolidEntity.sName)
|
||||
End If
|
||||
@@ -324,6 +325,7 @@ Public Class ManagePartPanelVM
|
||||
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
|
||||
@@ -339,8 +341,8 @@ Public Class ManagePartPanelVM
|
||||
nMachStartId = EgtCreateCurveCompo(nMachStartLayerId, PartManager_GeomEntity.nId, True)
|
||||
End Select
|
||||
EgtSetName(nMachStartId, START_GEOM)
|
||||
' coloro l'entita'
|
||||
EgtSetColor(nMachStartId, GeomEntityColors.c3MachStart)
|
||||
' 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
|
||||
@@ -350,17 +352,19 @@ Public Class ManagePartPanelVM
|
||||
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
|
||||
EgtSetColor(nMachStartId, GeomEntityColors.c3MachStart)
|
||||
' 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)
|
||||
' coloro l'entita'
|
||||
EgtSetColor(PartManager_GeomEntity.nId, GeomEntityColors.c3Rib)
|
||||
' 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
|
||||
@@ -368,11 +372,12 @@ Public Class ManagePartPanelVM
|
||||
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)
|
||||
' coloro l'entita'
|
||||
EgtSetColor(PartManager_GeomEntity.nId, GeomEntityColors.c3ShellNumber)
|
||||
' 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
|
||||
@@ -380,11 +385,12 @@ Public Class ManagePartPanelVM
|
||||
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)
|
||||
' coloro l'entita'
|
||||
EgtSetColor(PartManager_GeomEntity.nId, GeomEntityColors.c3AuxSolids)
|
||||
' 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
|
||||
@@ -392,10 +398,11 @@ Public Class ManagePartPanelVM
|
||||
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)
|
||||
' coloro l'entita'
|
||||
EgtSetColor(PartManager_GeomEntity.nId, GeomEntityColors.c3Others)
|
||||
' 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
|
||||
@@ -408,16 +415,16 @@ Public Class ManagePartPanelVM
|
||||
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)
|
||||
' coloro l'entita'
|
||||
EgtSetColor(nOtherId, GeomEntityColors.c3Others)
|
||||
' 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)
|
||||
' coloro l'entita'
|
||||
EgtSetColor(PartManager_GeomEntity.nId, GeomEntityColors.c3Others)
|
||||
' 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
|
||||
@@ -464,11 +471,11 @@ Public Class ManagePartPanelVM
|
||||
' elimino vecchio pezzo d'importazione
|
||||
EgtErase(m_nImportedPartId)
|
||||
|
||||
EgtDraw()
|
||||
|
||||
Case ManagePartType.MODIFY
|
||||
' nulla da fare
|
||||
End Select
|
||||
EgtDeselectAll()
|
||||
EgtDraw()
|
||||
' ripristino modalita' standard
|
||||
Map.refTopPanelVM.SelPage = Pages.MODIFY
|
||||
End Sub
|
||||
@@ -489,6 +496,7 @@ Public Class ManagePartPanelVM
|
||||
Public Sub Cancel()
|
||||
' elimino pezzo importato
|
||||
EgtErase(m_nImportedPartId)
|
||||
EgtDeselectAll()
|
||||
EgtDraw()
|
||||
' se ci sono pezzi
|
||||
If Map.refTopPanelVM.PartList.Count > 0 Then
|
||||
|
||||
@@ -394,6 +394,11 @@ Public Class ManagePart_Layer
|
||||
End Property
|
||||
|
||||
Private m_nLayerId As Integer
|
||||
Friend ReadOnly Property nLayerId As Integer
|
||||
Get
|
||||
Return m_nLayerId
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_bIsSelected As Boolean
|
||||
Public Property bIsSelected As Boolean
|
||||
@@ -426,6 +431,16 @@ Public Class ManagePart_Layer
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_MenuList As New List(Of ManagerLayer_MenuItem)
|
||||
Public Property MenuList As List(Of ManagerLayer_MenuItem)
|
||||
Get
|
||||
Return m_MenuList
|
||||
End Get
|
||||
Set(value As List(Of ManagerLayer_MenuItem))
|
||||
m_MenuList = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_EntityList As New ObservableCollection(Of PartManager_GeomEntity)
|
||||
Public Property EntityList As ObservableCollection(Of PartManager_GeomEntity)
|
||||
Get
|
||||
@@ -440,6 +455,10 @@ Public Class ManagePart_Layer
|
||||
m_OrigPart = OrigPart
|
||||
m_Type = Type
|
||||
m_sName = sName
|
||||
If Map.refManagePartPanelVM.Type = ManagePartPanelVM.ManagePartType.MODIFY Then
|
||||
' creo context menu per importazione solido da stampare
|
||||
m_MenuList.Add(New ManagerLayer_MenuItem(Me, ManagerLayer_MenuItem.LayerMenuCmd.IMPORTPRINT))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Sub New(OrigPart As ManagePart_Part, Type As LayerType, sName As String, PrintPart As Print3dPartVM)
|
||||
@@ -453,6 +472,11 @@ Public Class ManagePart_Layer
|
||||
If nEntityId <> GDB_ID.NULL Then
|
||||
m_EntityList.Add(New PartManager_GeomEntity(Me, nEntityId))
|
||||
End If
|
||||
' se sono in modifica
|
||||
If Map.refManagePartPanelVM.Type = ManagePartPanelVM.ManagePartType.MODIFY Then
|
||||
' creo context menu per importazione solido da stampare
|
||||
m_MenuList.Add(New ManagerLayer_MenuItem(Me, ManagerLayer_MenuItem.LayerMenuCmd.IMPORTPRINT))
|
||||
End If
|
||||
Case LayerType.MACH_START
|
||||
m_nLayerId = PrintPart.nMachStartLayerId
|
||||
Dim nEntityId As Integer = EgtGetFirstInGroup(m_nLayerId)
|
||||
@@ -613,6 +637,9 @@ Public Class GeomEntity_MenuItem
|
||||
' altrimenti lo elimino dalla lista entita' importate
|
||||
Map.refManagePartPanelVM.ImportedEntityList.Remove(m_OrigEntity)
|
||||
End If
|
||||
' se e' presente elimino flag di spostamento a 45 gradi
|
||||
Dim nPartId As Integer = EgtGetParent(EgtGetParent(m_OrigEntity.nId))
|
||||
EgtRemoveInfo(nPartId, "MovedPart")
|
||||
EgtDraw()
|
||||
' aggiorno riferimenti nel context menu item
|
||||
Map.refManagePartPanelVM.UpdateAllEntityContextMenu()
|
||||
@@ -625,8 +652,14 @@ Public Class GeomEntity_MenuItem
|
||||
Case ManagePartPanelVM.ManagePartType.IMPORT
|
||||
Dim NewPart As ManagePart_Part = New ManagePart_Part(Nothing)
|
||||
Map.refManagePartPanelVM.ManagerPartList.Add(NewPart)
|
||||
' elimino entity dalla lista entita' importate
|
||||
Map.refManagePartPanelVM.ImportedEntityList.Remove(m_OrigEntity)
|
||||
' se l'entita' e' gia' in lista pezzi
|
||||
If Not IsNothing(m_OrigEntity.OrigLayer) Then
|
||||
' elimino dalla lista pezzi
|
||||
m_OrigEntity.OrigLayer.EntityList.Remove(m_OrigEntity)
|
||||
Else
|
||||
' altrimenti lo elimino dalla lista entita' importate
|
||||
Map.refManagePartPanelVM.ImportedEntityList.Remove(m_OrigEntity)
|
||||
End If
|
||||
If Not IsNothing(NewPart) Then
|
||||
Dim NewLayer As ManagePart_Layer = NewPart.LayerList.FirstOrDefault(Function(x) x.Type = ManagePart_Layer.LayerType.PRINT_SOLID)
|
||||
If Not IsNothing(NewLayer) Then
|
||||
@@ -700,13 +733,6 @@ Public Class GeomEntity_MenuItem
|
||||
Dim ManagePart_Part As ManagePart_Part = New ManagePart_Part(NewPart)
|
||||
' elimino da posizione originale
|
||||
m_OrigEntity.OrigLayer.EntityList.Remove(m_OrigEntity)
|
||||
'Dim bUpdateAllContextMenu As Boolean = False
|
||||
'Dim NewLayer As ManagePart_Layer = ManagePart_Part.LayerList.FirstOrDefault(Function(x) x.Type = ManagePart_Layer.LayerType.PRINT_SOLID)
|
||||
'If Not IsNothing(NewLayer) Then
|
||||
' NewLayer.EntityList.Add(m_OrigEntity)
|
||||
' ' aggiorno riferimenti nell'entita'
|
||||
' m_OrigEntity.UpdateOrigLayer(NewLayer)
|
||||
'End If
|
||||
EgtSetInfo(nPartId, PART_NAME, ManagePart_Part.sName)
|
||||
' lo aggiungo a lista
|
||||
Map.refManagePartPanelVM.ManagerPartList.Add(ManagePart_Part)
|
||||
@@ -715,6 +741,9 @@ Public Class GeomEntity_MenuItem
|
||||
' Imposto flag di ricalcolo slice
|
||||
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True)
|
||||
End Select
|
||||
'' aggiorno visibilita' da check di categoria
|
||||
'Dim PrintLayer As ViewLayer = Map.refViewLayerManagerVM.LayerList.FirstOrDefault(Function(x) x.Type = ViewLayer.ViewLayerType.PRINT_SOLID)
|
||||
'EgtSetStatus(m_OrigEntity.nId, If(IsNothing(PrintLayer.bIsVisible) OrElse PrintLayer.bIsVisible, GDB_ST.ON_, GDB_ST.OFF))
|
||||
Return
|
||||
End If
|
||||
Select Case Map.refManagePartPanelVM.Type
|
||||
@@ -761,9 +790,18 @@ Public Class GeomEntity_MenuItem
|
||||
Select Case m_OrigEntity.OrigLayer.Type
|
||||
Case ManagePart_Layer.LayerType.PRINT_SOLID
|
||||
EgtResetMark(m_OrigEntity.nId)
|
||||
' se e' presente flag di spostamento a 45 gradi
|
||||
Dim nPartId As Integer = EgtGetParent(EgtGetParent(m_OrigEntity.nId))
|
||||
Dim vtMoved As Vector3d
|
||||
If EgtGetInfo(nPartId, "MovedPart", vtMoved) Then
|
||||
' lo sposto e rimuovo info
|
||||
EgtMove(m_OrigEntity.nId, -vtMoved, GDB_RT.GLOB)
|
||||
EgtRemoveInfo(nPartId, "MovedPart")
|
||||
End If
|
||||
Case ManagePart_Layer.LayerType.MACH_START
|
||||
Case ManagePart_Layer.LayerType.RIBS
|
||||
EgtRemoveInfo(m_OrigEntity.nId, KEY_RIB_TYPE)
|
||||
EgtRemoveInfo(m_OrigEntity.nId, RIB_ID)
|
||||
Case ManagePart_Layer.LayerType.SHELL_NUMBER
|
||||
EgtRemoveInfo(m_OrigEntity.nId, KEY_SHELLNBR_TYPE)
|
||||
Case ManagePart_Layer.LayerType.AUX_SOLIDS
|
||||
@@ -788,12 +826,15 @@ Public Class GeomEntity_MenuItem
|
||||
Case ManagePart_Layer.LayerType.PRINT_SOLID
|
||||
EgtSetName(m_OrigEntity.nId, PRINT_SOLID)
|
||||
EgtSetColor(m_OrigEntity.nId, c3Print)
|
||||
' rimuovo eventuale nota spostamento per 45 gradi
|
||||
EgtRemoveInfo(m_OrigEntity.OrigLayer.OrigPart.nId, "MovedPart")
|
||||
Case ManagePart_Layer.LayerType.MACH_START
|
||||
EgtSetName(m_OrigEntity.nId, LAY_MACH_START)
|
||||
EgtSetColor(m_OrigEntity.nId, c3MachStart)
|
||||
Case ManagePart_Layer.LayerType.RIBS
|
||||
EgtSetName(m_OrigEntity.nId, LAY_RIBS)
|
||||
EgtSetInfo(m_OrigEntity.nId, KEY_RIB_TYPE, RibEntity.RibTypes.FROMIMPORT)
|
||||
EgtSetInfo(m_OrigEntity.nId, RIB_ID, RibPanelVM.GetNextRibIndex())
|
||||
EgtSetColor(m_OrigEntity.nId, c3Rib)
|
||||
Case ManagePart_Layer.LayerType.SHELL_NUMBER
|
||||
EgtSetName(m_OrigEntity.nId, LAY_SHELL_NBR)
|
||||
@@ -914,4 +955,77 @@ Public Class ManagerPart_MenuItem
|
||||
|
||||
#End Region ' Command
|
||||
|
||||
End Class
|
||||
|
||||
Public Class ManagerLayer_MenuItem
|
||||
Inherits VMBase
|
||||
|
||||
Public Enum LayerMenuCmd
|
||||
IMPORTPRINT = 1
|
||||
End Enum
|
||||
|
||||
Private m_OrigLayer As ManagePart_Layer
|
||||
Friend ReadOnly Property OrigLayer As ManagePart_Layer
|
||||
Get
|
||||
Return m_OrigLayer
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' tipo del comando
|
||||
Private m_Type As LayerMenuCmd
|
||||
Public Property Type As LayerMenuCmd
|
||||
Get
|
||||
Return m_Type
|
||||
End Get
|
||||
Set(value As LayerMenuCmd)
|
||||
m_Type = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property sMsg As String
|
||||
Get
|
||||
Select Case m_Type
|
||||
Case Else ' PartMenuCmd.IMPORTPRINT
|
||||
Return "Import Print"
|
||||
End Select
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' Definizione comando
|
||||
Private m_cmdCommand As ICommand
|
||||
|
||||
Sub New(OrigLayer As ManagePart_Layer, Type As LayerMenuCmd)
|
||||
m_OrigLayer = OrigLayer
|
||||
m_Type = Type
|
||||
End Sub
|
||||
|
||||
#Region "Command"
|
||||
|
||||
Public ReadOnly Property MenuItem_Command As ICommand
|
||||
Get
|
||||
If m_cmdCommand Is Nothing Then
|
||||
m_cmdCommand = New Command(AddressOf Command)
|
||||
End If
|
||||
Return m_cmdCommand
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub Command()
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
Select Case m_Type
|
||||
Case Else ' PartMenuCmd.IMPORTPRINT
|
||||
Dim bDeleteOldPrint As Boolean = False
|
||||
If m_OrigLayer.EntityList.Count > 0 Then
|
||||
If MessageBox.Show("Importing a new print solid the current one will be deleted. Are you sure you want to proced?", "Warning", MessageBoxButton.YesNo, MessageBoxImage.Warning) <> MessageBoxResult.Yes Then
|
||||
Return
|
||||
Else
|
||||
bDeleteOldPrint = True
|
||||
End If
|
||||
End If
|
||||
Map.refSceneHostVM.InsertPrint(Me)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
#End Region ' Command
|
||||
|
||||
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,25 +93,6 @@ 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_nSlicingType = ReadMaterialParamDouble(m_nIndex, MAC_SLICINGTYPE, 0, CurrentMachine.sMachiningFilePath)
|
||||
'm_dStrandH = ReadMaterialParamDouble(m_nIndex, MAC_STRANDH, 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
|
||||
|
||||
@@ -222,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
|
||||
|
||||
@@ -1,120 +0,0 @@
|
||||
<UserControl x:Class="ModifyPartPanelV"
|
||||
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="Part entity list"
|
||||
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 ModifyPartList}"
|
||||
MinHeight="300">
|
||||
<TreeView.Resources>
|
||||
<HierarchicalDataTemplate DataType="{x:Type local:ModifyPart}"
|
||||
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:ModifyLayer}"
|
||||
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:ModifyEntity}">
|
||||
<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>
|
||||
<!-- Menu' tasto destro -->
|
||||
<ContextMenu x:Key="RowMenu" ItemsSource="{Binding MenuList}" >
|
||||
<ContextMenu.ItemContainerStyle>
|
||||
<Style TargetType="MenuItem">
|
||||
<Setter Property="Command" Value="{Binding MenuItem_Command}"/>
|
||||
<Setter Property="CommandParameter" 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}" />
|
||||
</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 ModifyPartPanelV
|
||||
|
||||
End Class
|
||||
@@ -1,407 +0,0 @@
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
|
||||
Public Class ModifyPartPanelVM
|
||||
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_ModifyPartList As New ObservableCollection(Of ModifyPart)
|
||||
Public ReadOnly Property ModifyPartList As ObservableCollection(Of ModifyPart)
|
||||
Get
|
||||
Return m_ModifyPartList
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_SelModifyPart As ModifyPart
|
||||
Friend Sub SetSelModifyPart(SelModifyPart As ModifyPart)
|
||||
m_SelModifyPart = SelModifyPart
|
||||
m_SelModifyLayer = Nothing
|
||||
End Sub
|
||||
Public ReadOnly Property SelModifyPart As ModifyPart
|
||||
Get
|
||||
Return m_SelModifyPart
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_SelModifyLayer As ModifyLayer
|
||||
Public ReadOnly Property SelModifyLayer As ModifyLayer
|
||||
Get
|
||||
Return m_SelModifyLayer
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetSelModifyLayer(SelModifyLayer As ModifyLayer)
|
||||
m_SelModifyPart = m_ModifyPartList.FirstOrDefault(Function(x) x.LayerList.Contains(SelModifyLayer))
|
||||
m_SelModifyLayer = SelModifyLayer
|
||||
End Sub
|
||||
|
||||
Private m_SelModifyEntity As ModifyEntity
|
||||
Public ReadOnly Property SelModifyEntity As ModifyEntity
|
||||
Get
|
||||
Return m_SelModifyEntity
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetSelModifyEntity(SelModifyEntity As ModifyEntity)
|
||||
For Each CurrPart In m_ModifyPartList
|
||||
Dim CurrLayer As ModifyLayer = CurrPart.LayerList.FirstOrDefault(Function(x) x.EntityList.Contains(SelModifyEntity))
|
||||
If Not IsNothing(CurrLayer) Then
|
||||
m_SelModifyPart = CurrPart
|
||||
m_SelModifyLayer = CurrLayer
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
m_SelModifyEntity = SelModifyEntity
|
||||
End Sub
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdOk As ICommand
|
||||
Private m_cmdCancel As ICommand
|
||||
|
||||
Sub New()
|
||||
' Creo riferimento a questa classe in EgtCAM5Map
|
||||
Map.SetRefModifyPartPanelVM(Me)
|
||||
End Sub
|
||||
|
||||
#Region "METHODS"
|
||||
|
||||
Friend Sub Init()
|
||||
m_ModifyPartList.Clear()
|
||||
' carico pezzi in lista
|
||||
For Each PrintPart In Map.refTopPanelVM.PartList
|
||||
m_ModifyPartList.Add(New ModifyPart(PrintPart))
|
||||
Next
|
||||
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
|
||||
' Dim nOthersLayerId 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
|
||||
' nOthersLayerId = 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, 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)
|
||||
|
||||
'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()
|
||||
' ripristino modalita' standard
|
||||
Map.refTopPanelVM.SelPage = Pages.MODIFY
|
||||
End Sub
|
||||
|
||||
#End Region ' Cancel
|
||||
|
||||
#End Region ' COMMANDS
|
||||
|
||||
End Class
|
||||
@@ -1,435 +0,0 @@
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
|
||||
Public Class ModifyEntity
|
||||
Inherits VMBase
|
||||
|
||||
' layer sotto cui e' questa entita'
|
||||
Private m_OrigLayer As ModifyLayer
|
||||
Friend ReadOnly Property OrigLayer As ModifyLayer
|
||||
Get
|
||||
Return m_OrigLayer
|
||||
End Get
|
||||
End Property
|
||||
|
||||
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.refModifyPartPanelVM.SetSelModifyEntity(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
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_MenuList As New List(Of MenuItemVm)
|
||||
Public Property MenuList As List(Of MenuItemVm)
|
||||
Get
|
||||
Return m_MenuList
|
||||
End Get
|
||||
Set(value As List(Of MenuItemVm))
|
||||
m_MenuList = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Sub New(nId As Integer, sName As String, OrigLayer As ModifyLayer)
|
||||
m_nId = nId
|
||||
m_sName = sName
|
||||
m_OrigLayer = OrigLayer
|
||||
' aggiungo voci layer a contextmenu
|
||||
CreateContextMenu(OrigLayer)
|
||||
End Sub
|
||||
|
||||
Friend Sub UpdateContextMenu(OrigLayer As ModifyLayer)
|
||||
m_MenuList.Clear()
|
||||
' aggiungo voci layer a contextmenu
|
||||
CreateContextMenu(OrigLayer)
|
||||
End Sub
|
||||
|
||||
Friend Sub CreateContextMenu(OrigLayer As ModifyLayer)
|
||||
For Each ProjectPart In Map.refTopPanelVM.PartList
|
||||
' verifico in quali layer puo' andare questo elemento
|
||||
Dim EntityType As GDB_TY = EgtGetType(nId)
|
||||
Select Case EntityType
|
||||
Case GDB_TY.GEO_POINT, GDB_TY.CRV_COMPO, GDB_TY.CRV_ARC, GDB_TY.CRV_BEZ, GDB_TY.CRV_LINE
|
||||
' recupero i layer
|
||||
If OrigLayer.Type <> ModifyLayer.LayerType.MACH_START Then m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ModifyLayer.LayerType.MACH_START, ProjectPart))
|
||||
If OrigLayer.Type <> ModifyLayer.LayerType.OTHERS Then m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ModifyLayer.LayerType.OTHERS, ProjectPart))
|
||||
Case GDB_TY.SRF_MESH
|
||||
' verifico se volume chiuso
|
||||
If OrigLayer.Type <> ModifyLayer.LayerType.PRINT_SOLID Then m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ModifyLayer.LayerType.PRINT_SOLID, ProjectPart))
|
||||
If OrigLayer.Type <> ModifyLayer.LayerType.SHELL_NUMBER Then m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ModifyLayer.LayerType.SHELL_NUMBER, ProjectPart))
|
||||
If OrigLayer.Type <> ModifyLayer.LayerType.AUX_SOLIDS Then m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ModifyLayer.LayerType.AUX_SOLIDS, ProjectPart))
|
||||
If OrigLayer.Type <> ModifyLayer.LayerType.RIBS Then m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ModifyLayer.LayerType.RIBS, ProjectPart))
|
||||
If OrigLayer.Type <> ModifyLayer.LayerType.OTHERS Then m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ModifyLayer.LayerType.OTHERS, ProjectPart))
|
||||
End Select
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Friend Sub UpdateOrigLayer(NewLayer As ModifyLayer)
|
||||
m_OrigLayer = NewLayer
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Public Class ModifyPart
|
||||
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.refModifyPartPanelVM.SetSelModifyPart(Me)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_PrintPart As Print3dPartVM
|
||||
Public ReadOnly Property PrintPart As Print3dPartVM
|
||||
Get
|
||||
Return m_PrintPart
|
||||
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 m_PrintPart.sImportedFileName
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_LayerList As New ObservableCollection(Of ModifyLayer)
|
||||
Public ReadOnly Property LayerList As ObservableCollection(Of ModifyLayer)
|
||||
Get
|
||||
Return m_LayerList
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Sub New(PrintPart As Print3dPartVM)
|
||||
m_PrintPart = PrintPart
|
||||
m_LayerList.Add(New ModifyLayer(ModifyLayer.LayerType.PRINT_SOLID, "Print", PrintPart))
|
||||
m_LayerList.Add(New ModifyLayer(ModifyLayer.LayerType.MACH_START, "Layer Start", PrintPart))
|
||||
m_LayerList.Add(New ModifyLayer(ModifyLayer.LayerType.RIBS, "Ribs", PrintPart))
|
||||
m_LayerList.Add(New ModifyLayer(ModifyLayer.LayerType.SHELL_NUMBER, "Reduce Shell Number", PrintPart))
|
||||
m_LayerList.Add(New ModifyLayer(ModifyLayer.LayerType.AUX_SOLIDS, "Filled Solids", PrintPart))
|
||||
m_LayerList.Add(New ModifyLayer(ModifyLayer.LayerType.OTHERS, "Others", PrintPart))
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Public Class ModifyLayer
|
||||
Inherits VMBase
|
||||
|
||||
Public Enum LayerType As Integer
|
||||
PRINT_SOLID = 1
|
||||
MACH_START = 2
|
||||
RIBS = 3
|
||||
SHELL_NUMBER = 4
|
||||
AUX_SOLIDS = 5
|
||||
OTHERS = 6
|
||||
End Enum
|
||||
|
||||
Private m_nLayerId As Integer
|
||||
|
||||
Private m_bIsSelected As Boolean
|
||||
Public Property bIsSelected As Boolean
|
||||
Get
|
||||
Return m_bIsSelected
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_bIsSelected = value
|
||||
Map.refModifyPartPanelVM.SetSelModifyLayer(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 ModifyEntity)
|
||||
Public Property EntityList As ObservableCollection(Of ModifyEntity)
|
||||
Get
|
||||
Return m_EntityList
|
||||
End Get
|
||||
Set(value As ObservableCollection(Of ModifyEntity))
|
||||
m_EntityList = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Sub New(Type As LayerType, sName As String)
|
||||
m_Type = Type
|
||||
m_sName = sName
|
||||
End Sub
|
||||
|
||||
Sub New(Type As LayerType, sName As String, PrintPart As Print3dPartVM)
|
||||
m_Type = Type
|
||||
m_sName = sName
|
||||
Select Case Type
|
||||
Case LayerType.PRINT_SOLID
|
||||
m_nLayerId = PrintPart.nPrintSolidLayerId
|
||||
Dim nEntityId As Integer = EgtGetFirstInGroup(m_nLayerId)
|
||||
Dim sEntitytName As String = ""
|
||||
EgtGetName(nEntityId, sEntitytName)
|
||||
m_EntityList.Add(New ModifyEntity(nEntityId, sEntitytName, Me))
|
||||
Case LayerType.MACH_START
|
||||
m_nLayerId = PrintPart.nMachStartLayerId
|
||||
Dim nEntityId As Integer = EgtGetFirstInGroup(m_nLayerId)
|
||||
Dim sEntitytName As String = ""
|
||||
EgtGetName(nEntityId, sEntitytName)
|
||||
While nEntityId <> GDB_ID.NULL
|
||||
m_EntityList.Add(New ModifyEntity(nEntityId, sEntitytName, Me))
|
||||
nEntityId = EgtGetNext(nEntityId)
|
||||
EgtGetName(nEntityId, sEntitytName)
|
||||
End While
|
||||
Case LayerType.RIBS
|
||||
m_nLayerId = PrintPart.nRibsLayerId
|
||||
Dim nEntityId As Integer = EgtGetFirstInGroup(m_nLayerId)
|
||||
Dim sEntitytName As String = ""
|
||||
EgtGetName(nEntityId, sEntitytName)
|
||||
While nEntityId <> GDB_ID.NULL
|
||||
Dim RibType As Integer = RibEntity.RibTypes.FROMDRAW
|
||||
EgtGetInfo(nEntityId, KEY_RIB_TYPE, RibType)
|
||||
If RibType = RibEntity.RibTypes.FROMIMPORT Then
|
||||
m_EntityList.Add(New ModifyEntity(nEntityId, sEntitytName, Me))
|
||||
End If
|
||||
nEntityId = EgtGetNext(nEntityId)
|
||||
EgtGetName(nEntityId, sEntitytName)
|
||||
End While
|
||||
Case LayerType.SHELL_NUMBER
|
||||
m_nLayerId = PrintPart.nShellNumberLayerId
|
||||
Dim nEntityId As Integer = EgtGetFirstInGroup(m_nLayerId)
|
||||
Dim sEntitytName As String = ""
|
||||
EgtGetName(nEntityId, sEntitytName)
|
||||
While nEntityId <> GDB_ID.NULL
|
||||
Dim ShellType As Integer = ShellNumberEntity.ShellNumberTypes.FROMDRAW
|
||||
EgtGetInfo(nEntityId, KEY_SHELLNBR_TYPE, ShellType)
|
||||
If ShellType = ShellNumberEntity.ShellNumberTypes.FROMIMPORT Then
|
||||
m_EntityList.Add(New ModifyEntity(nEntityId, sEntitytName, Me))
|
||||
End If
|
||||
nEntityId = EgtGetNext(nEntityId)
|
||||
EgtGetName(nEntityId, sEntitytName)
|
||||
End While
|
||||
Case LayerType.AUX_SOLIDS
|
||||
m_nLayerId = PrintPart.nAuxSolidsLayerId
|
||||
Dim nEntityId As Integer = EgtGetFirstInGroup(m_nLayerId)
|
||||
Dim sEntitytName As String = ""
|
||||
EgtGetName(nEntityId, sEntitytName)
|
||||
While nEntityId <> GDB_ID.NULL
|
||||
'Dim ShellType As Integer = ShellNumberEntity.ShellNumberTypes.FROMDRAW
|
||||
'EgtGetInfo(nEntityId, KEY_SHELLNBR_TYPE, ShellType)
|
||||
'If ShellType = ShellNumberEntity.ShellNumberTypes.FROMIMPORT Then
|
||||
m_EntityList.Add(New ModifyEntity(nEntityId, sEntitytName, Me))
|
||||
'End If
|
||||
nEntityId = EgtGetNext(nEntityId)
|
||||
EgtGetName(nEntityId, sEntitytName)
|
||||
End While
|
||||
Case LayerType.OTHERS
|
||||
m_nLayerId = PrintPart.nOthersLayerId
|
||||
Dim nEntityId As Integer = EgtGetFirstInGroup(m_nLayerId)
|
||||
Dim sEntitytName As String = ""
|
||||
EgtGetName(nEntityId, sEntitytName)
|
||||
While nEntityId <> GDB_ID.NULL
|
||||
m_EntityList.Add(New ModifyEntity(nEntityId, sEntitytName, Me))
|
||||
nEntityId = EgtGetNext(nEntityId)
|
||||
EgtGetName(nEntityId, sEntitytName)
|
||||
End While
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Public Class MenuItemVm
|
||||
Inherits VMBase
|
||||
|
||||
' enita' di origine
|
||||
Private m_OrigEntity As ModifyEntity
|
||||
Private m_OrigLayer As ModifyLayer
|
||||
|
||||
' pezzo in cui spostare
|
||||
Private m_Part As Print3dPartVM
|
||||
|
||||
' tipo del layer indicato
|
||||
Private m_Type As ModifyLayer.LayerType
|
||||
Public Property Type As ModifyLayer.LayerType
|
||||
Get
|
||||
Return m_Type
|
||||
End Get
|
||||
Set(value As ModifyLayer.LayerType)
|
||||
m_Type = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property sMsg As String
|
||||
Get
|
||||
Dim sType As String = ""
|
||||
Select Case m_Type
|
||||
Case ModifyLayer.LayerType.PRINT_SOLID
|
||||
sType = "Print"
|
||||
Case ModifyLayer.LayerType.MACH_START
|
||||
sType = "Layer Start"
|
||||
Case ModifyLayer.LayerType.RIBS
|
||||
sType = "Ribs"
|
||||
Case ModifyLayer.LayerType.SHELL_NUMBER
|
||||
sType = "Reduce shell number"
|
||||
Case ModifyLayer.LayerType.AUX_SOLIDS
|
||||
sType = "Filled Solids"
|
||||
Case ModifyLayer.LayerType.OTHERS
|
||||
sType = "Others"
|
||||
End Select
|
||||
Return "Move to " & sType
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' Definizione comando
|
||||
Private m_cmdCommand As ICommand
|
||||
|
||||
Sub New(OrigEntity As ModifyEntity, OrigLayer As ModifyLayer, Type As ModifyLayer.LayerType, Part As Print3dPartVM)
|
||||
m_OrigEntity = OrigEntity
|
||||
m_OrigLayer = OrigLayer
|
||||
m_Type = Type
|
||||
m_Part = Part
|
||||
End Sub
|
||||
|
||||
#Region "Cancel"
|
||||
|
||||
Public ReadOnly Property MenuItem_Command As ICommand
|
||||
Get
|
||||
If m_cmdCommand Is Nothing Then
|
||||
m_cmdCommand = New Command(AddressOf Command)
|
||||
End If
|
||||
Return m_cmdCommand
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub Command()
|
||||
' recupero layer da pezzo
|
||||
Dim nLayerId As Integer = GDB_ID.NULL
|
||||
Select Case m_Type
|
||||
Case ModifyLayer.LayerType.PRINT_SOLID
|
||||
nLayerId = m_Part.nPrintSolidLayerId
|
||||
Case ModifyLayer.LayerType.MACH_START
|
||||
nLayerId = m_Part.nMachStartLayerId
|
||||
Case ModifyLayer.LayerType.RIBS
|
||||
nLayerId = m_Part.nRibsLayerId
|
||||
Case ModifyLayer.LayerType.SHELL_NUMBER
|
||||
nLayerId = m_Part.nShellNumberLayerId
|
||||
Case ModifyLayer.LayerType.AUX_SOLIDS
|
||||
nLayerId = m_Part.nAuxSolidsLayerId
|
||||
Case ModifyLayer.LayerType.OTHERS
|
||||
nLayerId = m_Part.nOthersLayerId
|
||||
End Select
|
||||
' sposto entita'
|
||||
If EgtRelocateGlob(m_OrigEntity.nId, nLayerId) Then
|
||||
' elimino info vecchio layer
|
||||
Select Case m_OrigLayer.Type
|
||||
Case ModifyLayer.LayerType.PRINT_SOLID
|
||||
EgtResetMark(m_OrigEntity.nId)
|
||||
Case ModifyLayer.LayerType.MACH_START
|
||||
Case ModifyLayer.LayerType.RIBS
|
||||
EgtRemoveInfo(m_OrigEntity.nId, KEY_RIB_TYPE)
|
||||
Case ModifyLayer.LayerType.SHELL_NUMBER
|
||||
EgtRemoveInfo(m_OrigEntity.nId, KEY_SHELLNBR_TYPE)
|
||||
Case ModifyLayer.LayerType.AUX_SOLIDS
|
||||
EgtRemoveInfo(m_OrigEntity.nId, KEY_AUXSOLID_TYPE)
|
||||
Case ModifyLayer.LayerType.OTHERS
|
||||
End Select
|
||||
' sposto in lista
|
||||
m_OrigLayer.EntityList.Remove(m_OrigEntity)
|
||||
Dim NewPart As ModifyPart = Map.refModifyPartPanelVM.ModifyPartList.FirstOrDefault(Function(x) x.PrintPart.nPartId = m_Part.nPartId)
|
||||
If Not IsNothing(NewPart) Then
|
||||
Dim NewLayer As ModifyLayer = NewPart.LayerList.FirstOrDefault(Function(x) x.Type = m_Type)
|
||||
If Not IsNothing(NewLayer) Then
|
||||
NewLayer.EntityList.Add(m_OrigEntity)
|
||||
' aggiorno riferimenti nell'entita'
|
||||
m_OrigEntity.UpdateOrigLayer(NewLayer)
|
||||
End If
|
||||
End If
|
||||
' aggiungo info nuovo layer
|
||||
Select Case m_Type
|
||||
Case ModifyLayer.LayerType.PRINT_SOLID
|
||||
EgtSetName(m_OrigEntity.nId, PRINT_SOLID)
|
||||
EgtSetColor(m_OrigEntity.nId, c3Print)
|
||||
Case ModifyLayer.LayerType.MACH_START
|
||||
EgtSetName(m_OrigEntity.nId, LAY_MACH_START)
|
||||
EgtSetColor(m_OrigEntity.nId, c3MachStart)
|
||||
Case ModifyLayer.LayerType.RIBS
|
||||
EgtSetName(m_OrigEntity.nId, LAY_RIBS)
|
||||
EgtSetInfo(m_OrigEntity.nId, KEY_RIB_TYPE, RibEntity.RibTypes.FROMIMPORT)
|
||||
EgtSetColor(m_OrigEntity.nId, c3Rib)
|
||||
Case ModifyLayer.LayerType.SHELL_NUMBER
|
||||
EgtSetName(m_OrigEntity.nId, LAY_SHELL_NBR)
|
||||
EgtSetInfo(m_OrigEntity.nId, KEY_SHELLNBR_TYPE, ShellNumberEntity.ShellNumberTypes.FROMIMPORT)
|
||||
EgtSetColor(m_OrigEntity.nId, c3ShellNumber)
|
||||
Case ModifyLayer.LayerType.AUX_SOLIDS
|
||||
EgtSetName(m_OrigEntity.nId, LAY_AUX_SOLIDS)
|
||||
EgtSetInfo(m_OrigEntity.nId, KEY_AUXSOLID_TYPE, RibEntity.RibTypes.FROMIMPORT)
|
||||
EgtSetColor(m_OrigEntity.nId, c3AuxSolids)
|
||||
Case ModifyLayer.LayerType.OTHERS
|
||||
EgtSetName(m_OrigEntity.nId, LAY_OTHERS)
|
||||
EgtSetColor(m_OrigEntity.nId, c3Others)
|
||||
End Select
|
||||
EgtDraw()
|
||||
' aggiorno riferimenti nel context menu item
|
||||
m_OrigEntity.UpdateContextMenu(m_OrigEntity.OrigLayer)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' Cancel
|
||||
|
||||
End Class
|
||||
@@ -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.11.4")>
|
||||
<Assembly: AssemblyFileVersion("2.4.11.4")>
|
||||
<Assembly: AssemblyVersion("2.5.1.1")>
|
||||
<Assembly: AssemblyFileVersion("2.5.1.1")>
|
||||
|
||||
@@ -80,13 +80,6 @@
|
||||
</TabItem>
|
||||
<TabItem Header="{Binding CADMsg}">
|
||||
<StackPanel Margin="5,5,5,0">
|
||||
<!--<UniformGrid Columns="2"
|
||||
Margin="0,0,0,5">
|
||||
<TextBlock Text="{Binding DefMaterialColorMsg}" VerticalAlignment="Center"/>
|
||||
<Button Background="{Binding DefMaterialColor}"
|
||||
Command="{Binding DefMaterialColor_Command}"
|
||||
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||
</UniformGrid>-->
|
||||
<UniformGrid Grid.ColumnSpan="2" Columns="2"
|
||||
Margin="0,0,0,5">
|
||||
<TextBlock Text="{Binding GeometryToleranceMsg}" VerticalAlignment="Center"/>
|
||||
@@ -94,6 +87,38 @@
|
||||
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">
|
||||
|
||||
@@ -179,12 +179,16 @@ Public Class OptionWindowVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property DefMaterialColor As Brush
|
||||
' lista oggetti che gestiscono colori e trasparenze delle catogorie
|
||||
Private m_LayerColorList As New ObservableCollection(Of LayerColor)({New LayerColor(LayerColor.LayerType.PRINTPART),
|
||||
New LayerColor(LayerColor.LayerType.RIBS),
|
||||
New LayerColor(LayerColor.LayerType.SHELLNUMBERS),
|
||||
New LayerColor(LayerColor.LayerType.AUXSOLIDS),
|
||||
New LayerColor(LayerColor.LayerType.MACHSTART),
|
||||
New LayerColor(LayerColor.LayerType.OTHERS)})
|
||||
Public ReadOnly Property LayerColorList As ObservableCollection(Of LayerColor)
|
||||
Get
|
||||
Return New SolidColorBrush(Color.FromArgb(CByte(255),
|
||||
CByte(OptionModule.m_DefMaterialColor.R),
|
||||
CByte(OptionModule.m_DefMaterialColor.G),
|
||||
CByte(OptionModule.m_DefMaterialColor.B)))
|
||||
Return m_LayerColorList
|
||||
End Get
|
||||
End Property
|
||||
|
||||
@@ -195,7 +199,7 @@ Public Class OptionWindowVM
|
||||
Set(value As Boolean)
|
||||
OptionModule.m_bThickLine = value
|
||||
WriteMainPrivateProfileString(S_SCENE, K_LINEWIDTH, If(value, "2", "1"))
|
||||
EgtSetLineAttribs( If( value, 2, 1))
|
||||
EgtSetLineAttribs(If(value, 2, 1))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -510,11 +514,11 @@ Public Class OptionWindowVM
|
||||
'End Property
|
||||
|
||||
' Definizione comandi
|
||||
|
||||
Private m_cmdTopSceneBackground As ICommand
|
||||
Private m_cmdBotSceneBackground As ICommand
|
||||
Private m_cmdGridColor As ICommand
|
||||
Private m_cmdUpdateLicenceCmd As ICommand
|
||||
Private m_cmdDefMaterialColor As ICommand
|
||||
Private m_cmdAddMachineCmd As ICommand
|
||||
Private m_cmdExportMachineCmd As ICommand
|
||||
|
||||
@@ -583,11 +587,6 @@ Public Class OptionWindowVM
|
||||
Return EgtMsg(6513)
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property DefMaterialColorMsg As String
|
||||
Get
|
||||
Return EgtMsg(6512)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property ImportMsg As String
|
||||
Get
|
||||
@@ -747,9 +746,35 @@ Public Class OptionWindowVM
|
||||
|
||||
#End Region
|
||||
|
||||
Public Function WritePrivateProfileColor(IpAppName As String, IpKeyName As String, ByRef Color As Color3d) As Boolean
|
||||
Dim sColor As String = Color.R & "," & Color.G & "," & Color.B
|
||||
Return EgtUILib.WritePrivateProfileString(IpAppName, IpKeyName, sColor, m_sIniFile)
|
||||
Private Function SelectColor(Col As Color3d, ByRef NewCol As Color3d) As Boolean
|
||||
' Recupero colori custom
|
||||
Dim sCustomColors As String = ""
|
||||
GetMainPrivateProfileString(S_COLORS, K_CUSTOMCOLORS, "", sCustomColors)
|
||||
Dim CustomColors() As String = sCustomColors.Split(","c)
|
||||
Dim nCustomColors As New List(Of Integer)
|
||||
For Each Color In CustomColors
|
||||
Dim nColor As Integer
|
||||
If Integer.TryParse(Color, nColor) Then
|
||||
nCustomColors.Add(nColor)
|
||||
End If
|
||||
Next
|
||||
' Creo dialogo colori
|
||||
Dim ColorDlg As New System.Windows.Forms.ColorDialog
|
||||
ColorDlg.FullOpen = True
|
||||
ColorDlg.CustomColors = nCustomColors.ToArray()
|
||||
ColorDlg.Color = Col.ToColor()
|
||||
' Visualizzo dialogo
|
||||
If ColorDlg.ShowDialog() <> Windows.Forms.DialogResult.OK Then Return False
|
||||
' Recupero colore scelto
|
||||
NewCol.FromColor(ColorDlg.Color)
|
||||
' Salvo eventuali modifiche ai colori custom
|
||||
sCustomColors = ""
|
||||
For Each Color In ColorDlg.CustomColors
|
||||
sCustomColors &= Color.ToString() & ","
|
||||
Next
|
||||
sCustomColors = sCustomColors.Trim({" "c, ","c})
|
||||
WriteMainPrivateProfileString(S_COLORS, K_CUSTOMCOLORS, sCustomColors)
|
||||
Return True
|
||||
End Function
|
||||
|
||||
#Region "COMMANDS"
|
||||
@@ -854,41 +879,6 @@ Public Class OptionWindowVM
|
||||
|
||||
#End Region ' GridColor
|
||||
|
||||
#Region "DefMaterialColor"
|
||||
|
||||
'''' <summary>
|
||||
'''' Returns a command that remove the current selected machining.
|
||||
'''' </summary>
|
||||
'Public ReadOnly Property DefMaterialColor_Command() As ICommand
|
||||
' Get
|
||||
' If m_cmdDefMaterialColor Is Nothing Then
|
||||
' m_cmdDefMaterialColor = New Command(AddressOf DefMaterialColorCmd)
|
||||
' End If
|
||||
' Return m_cmdDefMaterialColor
|
||||
' End Get
|
||||
'End Property
|
||||
|
||||
'''' <summary>
|
||||
'''' Manage the MachiningDb closing. This method is invoked by the CloseMachiningDbCommand.
|
||||
'''' </summary>
|
||||
'Public Sub DefMaterialColorCmd()
|
||||
' ' Recupero colore da Ini
|
||||
' Dim DefColor As New Color3d(192, 192, 192)
|
||||
' GetMainPrivateProfileColor(S_GEOMDB, K_DEFAULTCOLOR, DefColor)
|
||||
' ' Eseguo modifica con dialogo
|
||||
' If SelectColor(DefColor, DefColor) Then
|
||||
' OptionModule.m_DefMaterialColor = DefColor
|
||||
' Map.refSceneHostVM.MainScene.SetDefaultMaterial(OptionModule.m_DefMaterialColor)
|
||||
' WritePrivateProfileColor(S_GEOMDB, K_DEFAULTCOLOR, OptionModule.m_DefMaterialColor)
|
||||
' EgtDraw()
|
||||
' Map.refManageLayerExpanderVM.UpdateHeaderColor(OptionModule.m_DefMaterialColor)
|
||||
' Map.refManageLayerExpanderVM.LoadObjTree()
|
||||
' NotifyPropertyChanged("DefMaterialColor")
|
||||
' End If
|
||||
'End Sub
|
||||
|
||||
#End Region ' DefMaterialColor
|
||||
|
||||
#Region "UpdateLicence"
|
||||
|
||||
''' <summary>
|
||||
@@ -1165,10 +1155,96 @@ Public Class OptionWindowVM
|
||||
|
||||
#End Region ' COMMANDS
|
||||
|
||||
End Class
|
||||
|
||||
Public Class LayerColor
|
||||
Inherits VMBase
|
||||
|
||||
Public Enum LayerType As Integer
|
||||
PRINTPART = 1
|
||||
RIBS = 2
|
||||
SHELLNUMBERS = 3
|
||||
AUXSOLIDS = 4
|
||||
MACHSTART = 5
|
||||
OTHERS = 6
|
||||
End Enum
|
||||
|
||||
Private m_Type As LayerType
|
||||
Public ReadOnly Property c3Color As Color3d
|
||||
Get
|
||||
Select Case m_Type
|
||||
Case LayerType.PRINTPART
|
||||
Return GeomEntityColors.c3Print
|
||||
Case LayerType.RIBS
|
||||
Return GeomEntityColors.c3Rib
|
||||
Case LayerType.SHELLNUMBERS
|
||||
Return GeomEntityColors.c3ShellNumber
|
||||
Case LayerType.AUXSOLIDS
|
||||
Return GeomEntityColors.c3AuxSolids
|
||||
Case LayerType.MACHSTART
|
||||
Return GeomEntityColors.c3MachStart
|
||||
Case LayerType.OTHERS
|
||||
Return GeomEntityColors.c3Others
|
||||
End Select
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property Background As Brush
|
||||
Get
|
||||
Return New SolidColorBrush(Color.FromArgb(CByte(255),
|
||||
CByte(c3Color.R),
|
||||
CByte(c3Color.G),
|
||||
CByte(c3Color.B)))
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Property dAlpha As Double
|
||||
Get
|
||||
Return c3Color.A
|
||||
End Get
|
||||
Set(value As Double)
|
||||
GeomEntityColors.SetAlpha(m_Type, value)
|
||||
NotifyPropertyChanged(NameOf(sAlpha))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property sAlpha As String
|
||||
Get
|
||||
Return c3Color.A & "%"
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property Color_Msg As String
|
||||
Get
|
||||
Select Case m_Type
|
||||
Case LayerType.PRINTPART
|
||||
Return "Print"
|
||||
Case LayerType.RIBS
|
||||
Return "Ribs"
|
||||
Case LayerType.SHELLNUMBERS
|
||||
Return "Reduce Shell Number"
|
||||
Case LayerType.AUXSOLIDS
|
||||
Return "Filled Solids"
|
||||
Case LayerType.MACHSTART
|
||||
Return "Layer Start"
|
||||
Case LayerType.OTHERS
|
||||
Return "Others"
|
||||
Case Else
|
||||
Return ""
|
||||
End Select
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_cmdColor As ICommand
|
||||
|
||||
Sub New(Type As LayerType)
|
||||
m_Type = Type
|
||||
End Sub
|
||||
|
||||
Private Function SelectColor(Col As Color3d, ByRef NewCol As Color3d) As Boolean
|
||||
' Recupero colori custom
|
||||
Dim sCustomColors As String = ""
|
||||
GetMainPrivateProfileString(S_SCENE, K_CUSTOMCOLORS, "", sCustomColors)
|
||||
GetMainPrivateProfileString(S_COLORS, K_CUSTOMCOLORS, "", sCustomColors)
|
||||
Dim CustomColors() As String = sCustomColors.Split(","c)
|
||||
Dim nCustomColors As New List(Of Integer)
|
||||
For Each Color In CustomColors
|
||||
@@ -1192,10 +1268,39 @@ Public Class OptionWindowVM
|
||||
sCustomColors &= Color.ToString() & ","
|
||||
Next
|
||||
sCustomColors = sCustomColors.Trim({" "c, ","c})
|
||||
WriteMainPrivateProfileString(S_SCENE, K_CUSTOMCOLORS, sCustomColors)
|
||||
WriteMainPrivateProfileString(S_COLORS, K_CUSTOMCOLORS, sCustomColors)
|
||||
Return True
|
||||
End Function
|
||||
|
||||
#Region "Color"
|
||||
|
||||
''' <summary>
|
||||
''' Returns a command that remove the current selected machining.
|
||||
''' </summary>
|
||||
Public ReadOnly Property Color_Command() As ICommand
|
||||
Get
|
||||
If m_cmdColor Is Nothing Then
|
||||
m_cmdColor = New Command(AddressOf ColorCmd)
|
||||
End If
|
||||
Return m_cmdColor
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' Manage the MachiningDb closing. This method is invoked by the CloseMachiningDbCommand.
|
||||
''' </summary>
|
||||
Public Sub ColorCmd()
|
||||
' Recupero colore da Ini
|
||||
Dim c3Print As Color3d = c3Color
|
||||
' Eseguo modifica con dialogo
|
||||
If SelectColor(c3Color, c3Print) Then
|
||||
GeomEntityColors.SetColor(m_Type, c3Print)
|
||||
NotifyPropertyChanged(NameOf(Background))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' PrintPartColor
|
||||
|
||||
End Class
|
||||
|
||||
'Public Class GeomTypeConverter
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -319,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>
|
||||
@@ -345,6 +370,32 @@ Public Class ProjManagerVM
|
||||
|
||||
#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
|
||||
|
||||
#Region "SendFeedback"
|
||||
|
||||
''' <summary>
|
||||
|
||||
@@ -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
|
||||
@@ -104,17 +105,18 @@ Public Class ReferencePanelVM
|
||||
ptOrig += b3PrintSolid.DimY() / 2 * Vector3d.Y_AX + b3PrintSolid.DimX() / 2 * Vector3d.X_AX
|
||||
End Select
|
||||
Dim vtMovedPart As Vector3d
|
||||
EgtGetInfo(Map.refTopPanelVM.SelPart.nPrintSolidId, "MovedPart", vtMovedPart)
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
/* Modules/ScormAicc */
|
||||
|
||||
table.il_ScormTable {
|
||||
color: @il-text-color;
|
||||
background-color: @il-main-dark-bg;
|
||||
border-spacing: 1px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
td.il_ScormTableKey {
|
||||
background-color: @il-main-dark-bg;
|
||||
color: @il-text-color;
|
||||
padding: 1px 3px;
|
||||
vertical-align: top;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
td.il_ScormTableValue {
|
||||
background: none @il-main-dark-bg;
|
||||
color: @il-text-color;
|
||||
padding: 1px 3px;
|
||||
vertical-align: top;
|
||||
text-align: left;
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
div.ilSurveyPageEditDropArea {
|
||||
border-color: lighten(@il-secondary-color, 10%);
|
||||
color: lighten(@il-secondary-color, 10%);
|
||||
background-color: lighten(@il-secondary-color, 25%);
|
||||
}
|
||||
|
||||
div.ilSurveyPageEditDropAreaSelected {
|
||||
border-color: lighten(@il-secondary-color, 10%);
|
||||
color: lighten(@il-secondary-color, 10%);
|
||||
background-color: lighten(@il-secondary-color, 15%);
|
||||
}
|
||||
|
||||
div.ilSurveyPageEditAreaDragging {
|
||||
border: 2px dashed @il-neutral-color;
|
||||
background-color: @il-main-dark-bg;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
div.ilSurveyPageEditActionMenu {
|
||||
float: right;
|
||||
margin: 3px;
|
||||
}
|
||||
|
||||
.il-svy-qst-compressed {
|
||||
.questionTitle {
|
||||
display: none;
|
||||
}
|
||||
|
||||
tr:first-child td {
|
||||
visibility: hidden;
|
||||
height: 1px;
|
||||
line-height: 1px;
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
#il-svy-output-form {
|
||||
table {
|
||||
td p {
|
||||
hyphens: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,673 @@
|
||||
/* former ta.css */
|
||||
|
||||
.kiosk {
|
||||
padding: 2em;
|
||||
background-color: #fafafa;
|
||||
}
|
||||
|
||||
.fullwidth_invisible {
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
.feedback {
|
||||
/* border: 1px solid gray;*/
|
||||
padding: 4px;
|
||||
display: block;
|
||||
background: #EEEEEE;
|
||||
}
|
||||
|
||||
.centermessage {
|
||||
width: 25em;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
font-weight: bold;
|
||||
font-size: 150%;
|
||||
}
|
||||
|
||||
.col2 {
|
||||
width: 100%;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.rcol {
|
||||
width: 50%;
|
||||
float: right;
|
||||
}
|
||||
|
||||
.lcol {
|
||||
width: 50%;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.participant.solution {
|
||||
padding: 5px;
|
||||
width: 50%;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.lcol.participant
|
||||
{
|
||||
width: 49%;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.rcol.solution {
|
||||
width: 49%;
|
||||
overflow-x: auto;
|
||||
padding: 5px;
|
||||
background: #E2FFC7; /* Fallback IE 6-8 */
|
||||
background: rgba(226, 255, 199, .4);
|
||||
}
|
||||
|
||||
#kioskOptions {
|
||||
clear: both;
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
border-top: 1px #aaa solid;
|
||||
border-bottom: 1px #aaa solid;
|
||||
margin-bottom: 1em;
|
||||
padding: 1em 0;
|
||||
}
|
||||
|
||||
#kioskTestTitle {
|
||||
float: left;
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
#kioskParticipant {
|
||||
float: right;
|
||||
text-align: right;
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.print {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
|
||||
.ilTstWorkingFormBlock_WorkingTime {
|
||||
text-align: center;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.ilTstWorkingFormInfo_UserWorkingTime {
|
||||
visibility: hidden;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.ilTstWorkingFormInfo_ProcessTimeLeft {
|
||||
font-size: 200%;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.ilTstQuestionSummaryBlock_WorkingTime {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
div.ilc_Question {
|
||||
padding-left: 20px;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.testSheet {
|
||||
background: #EEEEEE;
|
||||
border-spacing: 1px;
|
||||
border: 1px outset #BBBBBB;
|
||||
margin: 5px;
|
||||
padding: 2em;
|
||||
}
|
||||
|
||||
.questionTitle {
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
font-size: 140%;
|
||||
padding-bottom: 3px;
|
||||
border-bottom-width: 1px;
|
||||
border-bottom-style: solid;
|
||||
border-color: #000000;
|
||||
}
|
||||
|
||||
.ilTestQuestionRelatedObjectivesInfo
|
||||
{
|
||||
font-size: 0.7em;
|
||||
font-style: italic;
|
||||
margin: 5px 0;
|
||||
}
|
||||
|
||||
.questionPrintview {
|
||||
border: 1px solid #C0C0C0;
|
||||
padding: 0.25em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
.solutionbox {
|
||||
color: black;
|
||||
background-color: white;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
border-style: inset;
|
||||
border-width: 1px;
|
||||
}
|
||||
|
||||
td.middle {
|
||||
color: #000000;
|
||||
background-color: inherit;
|
||||
border-spacing: 0px;
|
||||
border: none;
|
||||
padding: 3px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
td.top {
|
||||
color: #000000;
|
||||
background-color: inherit;
|
||||
border-spacing: 0px;
|
||||
border: none;
|
||||
padding: 3px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* --- Test tool javascript styles --- */
|
||||
|
||||
span.nowrap {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
div.termtext {
|
||||
width: 200px;
|
||||
height: 100px;
|
||||
border: 1px solid #000000;
|
||||
background-color: #F1F1F1;
|
||||
color: #222222;
|
||||
padding: 10px;
|
||||
vertical-align: middle;
|
||||
border-style: outset;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.dropzone {
|
||||
width: 220px;
|
||||
height: 120px;
|
||||
border: 1px solid #000000;
|
||||
background-color: #FFE4E4;
|
||||
color: #222222;
|
||||
padding: 10px;
|
||||
vertical-align: middle;
|
||||
border-style: dotted;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.textboximage {
|
||||
width: 200px;
|
||||
height: 80px;
|
||||
border: 1px solid #000000;
|
||||
background: #DDDDDD;
|
||||
padding: 10px;
|
||||
vertical-align: middle;
|
||||
border-style: outset;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.imagebox {
|
||||
width: 200px;
|
||||
height: 100px;
|
||||
border: 1px solid #000000;
|
||||
background-color: #F1F1F1;
|
||||
color: #222222;
|
||||
padding: 10px;
|
||||
vertical-align: middle;
|
||||
border-style: outset;
|
||||
text-align: center;
|
||||
z-index: 200;
|
||||
}
|
||||
|
||||
div.textbox {
|
||||
width: 200px;
|
||||
height: 100px;
|
||||
border: 1px solid #000000;
|
||||
background-color: #F1F1F1;
|
||||
color: #222222;
|
||||
padding: 10px;
|
||||
vertical-align: middle;
|
||||
border-style: outset;
|
||||
text-align: center;
|
||||
z-index: 200;
|
||||
}
|
||||
|
||||
#filterpanel {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.filteractive {
|
||||
background-color: #f7face;
|
||||
border: 1px #d48110 solid;
|
||||
}
|
||||
|
||||
.filterinactive {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.manfeedback .toggle-button
|
||||
{
|
||||
padding-left:20px;
|
||||
background:transparent url(images/del_sprite_arrows.gif) 3px -318px no-repeat;
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
.manfeedback .yes
|
||||
{
|
||||
padding-left:20px;
|
||||
background:transparent url(images/del_sprite_arrows.gif) 3px -359px no-repeat;
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
.manfeedback .off
|
||||
{
|
||||
padding-left:20px;
|
||||
background:none;
|
||||
cursor:default;
|
||||
}
|
||||
|
||||
div.odd {
|
||||
padding: 0.5em 0;
|
||||
}
|
||||
|
||||
div.even {
|
||||
padding: 0.5em 0;
|
||||
}
|
||||
|
||||
div.last {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
|
||||
table.imagemapareas tr,
|
||||
table.kvpwizard tr,
|
||||
table.matchingwizard tr,
|
||||
table.matchingpairwizard tr,
|
||||
table.errortextwizard tr,
|
||||
table.singlechoicewizard tr,
|
||||
table.multiplechoicewizard tr {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
table.imagemapareas th,
|
||||
table.kvpwizard th,
|
||||
table.matchingwizard th,
|
||||
table.matchingpairwizard th,
|
||||
table.errortextwizard th,
|
||||
table.singlechoicewizard th,
|
||||
table.multiplechoicewizard th,
|
||||
table.kprimchoicewizard th
|
||||
{
|
||||
vertical-align: top;
|
||||
}
|
||||
table.kprimchoicewizard th.true,
|
||||
table.kprimchoicewizard th.false
|
||||
{
|
||||
padding: 5px 5px;
|
||||
}
|
||||
table.kprimchoicewizard td.correctness
|
||||
{
|
||||
vertical-align: top;
|
||||
text-align: center;
|
||||
}
|
||||
table.kprimchoicewizard th
|
||||
{
|
||||
font-size: 90%;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
}
|
||||
table.kprimchoicewizard
|
||||
{
|
||||
}
|
||||
table.kprimchoicewizard
|
||||
{
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
table.kprimchoicewizard td
|
||||
{
|
||||
padding-top: 15px;
|
||||
}
|
||||
div.ilAssKprimChoiceTable div.optionLabel,
|
||||
table.kprimchoicewizard th.optionLabel
|
||||
{
|
||||
background-color: lightgrey;
|
||||
}
|
||||
|
||||
table.ilAssKprimChoiceTable tr.aggregaterow td
|
||||
{
|
||||
border-bottom: solid lightgrey 1px;
|
||||
}
|
||||
table.ilAssKprimChoiceTable tr.aggregaterow td.answer_frequency
|
||||
{
|
||||
text-align: right;
|
||||
}
|
||||
table.il_tst_answer_aggregation
|
||||
{
|
||||
border-collapse: collapse;
|
||||
}
|
||||
table.il_tst_answer_aggregation td,
|
||||
table.il_tst_answer_aggregation th
|
||||
{
|
||||
padding: 5px 15px;
|
||||
}
|
||||
table.il_tst_answer_aggregation th
|
||||
{
|
||||
background-color: lightgrey;
|
||||
}
|
||||
table.il_tst_answer_aggregation td
|
||||
{
|
||||
border-bottom: solid lightgrey 1px;
|
||||
}
|
||||
table.il_tst_answer_aggregation td.answer_option
|
||||
{
|
||||
font-style: italic;
|
||||
}
|
||||
table.il_tst_answer_aggregation td.answer_frequency
|
||||
{
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#tst_output {
|
||||
clear: both;
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#tst_left {
|
||||
float: left;
|
||||
width: 0%;
|
||||
}
|
||||
|
||||
#tst_left h1 {
|
||||
font-size: 110%;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#tst_right {
|
||||
float: right;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.question_description {
|
||||
font-style: italic;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
ul.shortlist {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* fau: testNav - icon for answered/unanswered questions in shortlist */
|
||||
ul.shortlist li {
|
||||
padding: 0 0 6px 15px;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 10px;
|
||||
background-position: 0px 5px;
|
||||
}
|
||||
|
||||
ul.shortlist li.answered {
|
||||
background-image: url('../../../../templates/default/images/answered.svg');
|
||||
}
|
||||
|
||||
ul.shortlist li.unanswered {
|
||||
background-image: url('../../../../templates/default/images/answered_not.svg');
|
||||
}
|
||||
/* fau. */
|
||||
|
||||
ul.shortlist li.active {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
ul.shortlist li.listEntry a
|
||||
{
|
||||
text-decoration:none;
|
||||
color:#0033AA;
|
||||
}
|
||||
|
||||
ul.shortlist li.listEntry a:hover
|
||||
{
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.number {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.errortext a:link,
|
||||
.errortext a:visited {
|
||||
text-decoration: none;
|
||||
color: #000;
|
||||
padding: 0 2px;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
.errortext a:hover {
|
||||
background-color: #ddd;
|
||||
}
|
||||
|
||||
.ilc_qetitem_ErrorTextSelected {
|
||||
background-color: #9bd9fe;
|
||||
border: 1px #666 solid;
|
||||
}
|
||||
.selGroup {
|
||||
border: 2px #9bd9fe solid;
|
||||
padding: 3px 2px;
|
||||
margin-right: 2px;
|
||||
}
|
||||
|
||||
|
||||
.imageselection {
|
||||
}
|
||||
|
||||
.questionpool_info {
|
||||
padding: 0.4em;
|
||||
margin-top: 0.4em;
|
||||
}
|
||||
|
||||
.questionpool_title {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
td.matching {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
div.term {
|
||||
display: inline;
|
||||
padding: 0.5em 1em;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.solutiontable td {
|
||||
padding: 0 1em;
|
||||
}
|
||||
|
||||
span.result {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
div.ilc_Page.readonly div.ilc_question_Standard
|
||||
{
|
||||
background-color: #f3f3f3;
|
||||
background-image: url(../../../../templates/default/images/qmark-ro.svg);
|
||||
}
|
||||
|
||||
ul.ilAssQuestionRelatedNavigationContainer,
|
||||
div.ilAssQuestionRelatedNavigationContainer
|
||||
{
|
||||
margin: 15px 0;
|
||||
float: none;
|
||||
}
|
||||
|
||||
ul.ilAssQuestionRelatedNavigationContainer div.navbar
|
||||
{
|
||||
padding-right: 12px;
|
||||
min-height: unset;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
div.tstModalConfirmationText
|
||||
{
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
div.tstModalConfirmationButtons a,
|
||||
div.tstModalConfirmationButtons input
|
||||
{
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
div.ilTestOutputBlock_DynTestFinished
|
||||
{
|
||||
background-color: #FAFAFA;
|
||||
padding: 100px;
|
||||
}
|
||||
|
||||
a.il_question_answer_list_back_anchor
|
||||
{
|
||||
float:right;
|
||||
font-size:0.7em;
|
||||
margin-right:3px;
|
||||
}
|
||||
|
||||
.ilCenterForced {
|
||||
text-align: center !important;
|
||||
}
|
||||
|
||||
tr.ilBorderlessRow
|
||||
{
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
td.ilAssQuestSkillAssignQuestTitle div
|
||||
{
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.ilAssQuestionLacExprWizard td,
|
||||
.ilAssQuestionLacExprWizard th
|
||||
{
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
a.il_participant_block_back_anchor,
|
||||
a.il_question_answer_list_back_anchor
|
||||
{
|
||||
float:right;
|
||||
margin-right:3px;
|
||||
}
|
||||
a.il_question_answer_list_back_anchor
|
||||
{
|
||||
font-size:0.7em;
|
||||
}
|
||||
|
||||
.test_specific_feedback td:first-child{
|
||||
padding-right: 1em;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
}
|
||||
.test_specific_feedback td:last-child p:first-child{
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
p.ilAssKprimInstruction,
|
||||
p.ilAdditionalAssQuestionInstruction
|
||||
{
|
||||
font-style: italic;
|
||||
font-size: 0.9em;
|
||||
margin:5px 0 15px 0 !important;
|
||||
}
|
||||
|
||||
table.kprimchoicewizard th.optionLabel
|
||||
{
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
table.imagemapareas tr.active-area, table.imagemapareas tr.active-area td {
|
||||
background-color: #fdfabb !important;
|
||||
}
|
||||
|
||||
/* fau: testNav - added and changed styles */
|
||||
|
||||
td.ilc_Page {
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.ilTestQuestionSubtitleBlocks
|
||||
{
|
||||
margin-top: -12px;
|
||||
}
|
||||
|
||||
.ilTestMarkQuestionIcon {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
}
|
||||
|
||||
.ilTestAnswerStatusIcon {
|
||||
display: inline-block;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
margin-top: -3px;
|
||||
}
|
||||
|
||||
.ilTestQuestionAction.disabled a {
|
||||
color: #b0b0b0!important;
|
||||
}
|
||||
/* fau. */
|
||||
|
||||
div.ilAssClozeTest
|
||||
{
|
||||
line-height: 2.5em;
|
||||
}
|
||||
div.ilAssClozeTest input
|
||||
{
|
||||
line-height: 1.25em;
|
||||
}
|
||||
|
||||
div.ilc_Page.readonly img.imagemap,
|
||||
div.ilc_Page.readonly div.filesContainer,
|
||||
div.ilc_Page.readonly div.filesContainer a,
|
||||
div.ilc_Page.readonly div.uploadContainer input,
|
||||
div.ilc_Page.readonly div.ilAssErrorText span,
|
||||
div.ilc_Page.readonly input[disabled],
|
||||
div.ilc_Page.readonly select[disabled],
|
||||
div.ilc_Page.readonly textarea[disabled]
|
||||
{
|
||||
pointer-events: all !important;
|
||||
cursor: not-allowed !important;
|
||||
}
|
||||
|
||||
.tstAutosaveMsg
|
||||
{
|
||||
font-style: italic;
|
||||
border: 1px #666 solid;
|
||||
background-color: #ffffe0;
|
||||
position:fixed;
|
||||
z-index:99999999999;
|
||||
top:0;
|
||||
left:0;
|
||||
}
|
||||
|
||||
.textarea {
|
||||
cursor: not-allowed !important;
|
||||
border: 1px solid rgb(169, 169, 169);
|
||||
padding: 2px;
|
||||
background-color: rgb(235, 235, 228);
|
||||
min-height: 200px;
|
||||
}
|
||||
|
||||
.ilSpecificAnswerFeedback td:first-child {
|
||||
padding-right: 30px;
|
||||
}
|
||||
|
||||
.ilc_question_MultipleChoice .ilc_qanswer_Answer > div {
|
||||
vertical-align: top;
|
||||
}
|
||||
.ilc_question_SingleChoice .ilc_qanswer_Answer > div {
|
||||
vertical-align: top;
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
/* Modules/Wiki */
|
||||
|
||||
a.ilWikiPageMissing:link, a.ilWikiPageMissing:visited {
|
||||
color: @il-danger-color;
|
||||
}
|
||||
|
||||
a.ilWikiPageMissing:hover {
|
||||
color: @il-text-hover-color;
|
||||
}
|
||||
|
||||
ul.ilWikiBlockList {
|
||||
margin: 0 0 0 20px;
|
||||
padding: 0;
|
||||
list-style: disc outside;
|
||||
}
|
||||
|
||||
ul.ilWikiBlockListNoIndent {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
li.ilWikiBlockItem {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* see mantis #0027530 */
|
||||
#block_wikiside_0 {
|
||||
.panel-body {
|
||||
overflow: visible;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
/* Modules/WorkspaceFolder */
|
||||
|
||||
#tbl_wfld.table-striped > tbody > tr > td {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.ilWspContainerListFooter {
|
||||
background-color: @il-main-dark-bg;
|
||||
margin: 0px -15px -15px -15px;
|
||||
padding: 5px 25px;
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
/* Services/Accordion */
|
||||
|
||||
.il_VAccordionHead, .il_HAccordionHead {
|
||||
padding: @padding-base-horizontal @padding-base-horizontal @padding-base-horizontal (@padding-base-horizontal+30px);
|
||||
text-align: left;
|
||||
cursor: pointer;
|
||||
color: @link-color;
|
||||
font-size: 110%;
|
||||
background-image: url("@{il-background-images-path}tree_col.svg");
|
||||
background-repeat: no-repeat;
|
||||
background-color: @il-main-dark-bg;
|
||||
background-position: 15px 8px;
|
||||
background-size: 20px 20px;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.il_VAccordionHead {
|
||||
display: block;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.il_VAccordionInnerContainer {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.il_VAccordionContent, .il_HAccordionContent {
|
||||
}
|
||||
|
||||
.il_HAccordionHead:hover, .il_VAccordionHead:hover {
|
||||
background-color: @il-highlight-bg;
|
||||
}
|
||||
|
||||
.il_HAccordionHeadActive, .il_VAccordionHeadActive {
|
||||
background-image: url("@{il-background-images-path}tree_exp.svg");
|
||||
background-color: @il-highlight-bg;
|
||||
}
|
||||
|
||||
.ilAccHideContent {
|
||||
width: 0px;
|
||||
height: 0px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.il_VAccordionContentDef, .il_HAccordionContentDef {
|
||||
> div {
|
||||
//overflow: auto;
|
||||
//was added for #17978, yet removed for #20719
|
||||
//seems yet useless
|
||||
}
|
||||
}
|
||||
|
||||
div.ilc_va_icont_VAccordICont {
|
||||
overflow: visible !important;
|
||||
}
|
||||
@@ -0,0 +1,207 @@
|
||||
/* Services/Awareness */
|
||||
|
||||
.ilAwarenessDropDown .popover {
|
||||
max-width: 300px;
|
||||
color: @il-text-color;
|
||||
min-width: 250px;
|
||||
}
|
||||
|
||||
#awareness-list {
|
||||
overflow: auto;
|
||||
.dropdown-header {
|
||||
background-color: @il-main-dark-bg;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
.ilAwarenessDropDown .popover-content {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.ilAwarenessDropDown .media-body, .ilAwarenessDropDown .media-left, .ilAwarenessDropDown .media-right {
|
||||
display: table-cell;
|
||||
vertical-align: top;
|
||||
}
|
||||
.ilAwarenessDropDown .media-left {
|
||||
padding-right: 10px;
|
||||
}
|
||||
.ilAwarenessDropDown .media {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
#awareness-content {
|
||||
.input-group {
|
||||
display: table;
|
||||
}
|
||||
.media:hover {
|
||||
background-color: @il-highlight-bg;
|
||||
}
|
||||
.glyphicon {
|
||||
font-size: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#awareness-content .dropdown-menu {
|
||||
position: static;
|
||||
float: none;
|
||||
.box-shadow(none);
|
||||
}
|
||||
|
||||
#awareness-content .media {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#awareness-content .media-left img {
|
||||
width: 45px;
|
||||
height: 45px;
|
||||
}
|
||||
|
||||
.ilAwarenessItem {
|
||||
border-bottom: 1px solid @il-main-border-color;
|
||||
background-color: @il-main-bg;
|
||||
|
||||
> div[role='button']:focus-visible {
|
||||
.il-focus();
|
||||
}
|
||||
|
||||
ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
li {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#awareness-content .media-body {
|
||||
white-space: nowrap;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
#awareness-content .media-body {
|
||||
padding-top: 8px;
|
||||
}
|
||||
|
||||
#awareness-content .media-body h4, #awareness-content .media-body p {
|
||||
color: @il-text-color;
|
||||
font-size: 12px;
|
||||
padding: 5px 3px 0 3px;
|
||||
line-height: 1em;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#awareness-content .media-body h4 {
|
||||
padding-top: 0px;
|
||||
font-size: bold;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
#awareness-content .dropdown-menu {
|
||||
background-color: @il-main-dark-bg;
|
||||
padding: 10px 0;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
#awareness-content .dropdown-menu a {
|
||||
color: @il-text-color;
|
||||
}
|
||||
|
||||
#awareness-content .dropdown-menu a:hover {
|
||||
color: @il-text-hover-color;
|
||||
}
|
||||
|
||||
#awareness-content .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;
|
||||
}
|
||||
|
||||
#awareness_trigger {
|
||||
display: block;
|
||||
}
|
||||
|
||||
#awareness_trigger > span {
|
||||
display: table-cell;
|
||||
}
|
||||
|
||||
.ilAwarenessItem h3.popover-title {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.ilAwarenessItem .media {
|
||||
display: table;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.ilAwarenessItemRow {
|
||||
display: table-row;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.ilAwarenessItem .media-left {
|
||||
width: 55px;
|
||||
}
|
||||
|
||||
.ilAwarenessItemRow .media-body {
|
||||
/* background-image: url('./templates/default/images/scorm/not_attempted.svg'); */
|
||||
background-repeat: no-repeat;
|
||||
background-size: 12px 12px;
|
||||
background-position: right 10px top 50%;
|
||||
/* see http://stackoverflow.com/questions/9789723/css-text-overflow-in-a-table-cell */
|
||||
/* and bug #18937 */
|
||||
/* max-width: 0; */
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.ilAwarenessItemRow .media-body.ilAwarenessOnline {
|
||||
background-image: url('@{il-background-images-path}scorm/completed.svg');
|
||||
}
|
||||
|
||||
.ilAwarenessLoader {
|
||||
display: block;
|
||||
margin: 15px auto;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
#il_awrn_filer_btn {
|
||||
.glyphicon{
|
||||
filter: invert(0);
|
||||
margin-right: 0;
|
||||
font-family: 'Glyphicons Halflings';
|
||||
}
|
||||
}
|
||||
|
||||
#il_awrn_filer_btn img {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
}
|
||||
|
||||
#awareness-content .ilHighlighted {
|
||||
background-color: @il-highlight-bg;
|
||||
color: @il-text-light-color;
|
||||
}
|
||||
|
||||
.ilAwrnBadgeHidden {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
/* due to bug #17839 */
|
||||
#awareness-content .dropdown-backdrop {
|
||||
display:none;
|
||||
right: auto;
|
||||
width: 0px;
|
||||
}
|
||||
|
||||
.ilAwarenessItem > div {
|
||||
cursor: pointer;
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
/* Services/Badge */
|
||||
|
||||
img.ilBadgeImage {
|
||||
max-width: 150px;
|
||||
max-height: 150px;
|
||||
}
|
||||
|
||||
.ilBadgeImageThumbnail a .img-responsive {
|
||||
max-width: 50px;
|
||||
max-height: 50px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.ilBadgeImageThumbnail .modal .img-responsive {
|
||||
margin: auto;
|
||||
width: 50%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
div.ilBadgeBackpackPanelContent {
|
||||
min-height: 200px;
|
||||
}
|
||||
|
||||
div.ilBadgeBackpackPanelContent img {
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
span.ilProfileBadge {
|
||||
display: inline-block;
|
||||
padding: 5px;
|
||||
|
||||
> a {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
display: inline-block;
|
||||
|
||||
img {
|
||||
margin: auto;
|
||||
max-width: 50px;
|
||||
max-height: 50px;
|
||||
}
|
||||
}
|
||||
|
||||
.modal .img-responsive {
|
||||
margin: auto;
|
||||
width: 50%;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.ilBadgeDeck {
|
||||
.modal .img-responsive {
|
||||
margin: auto;
|
||||
width: 50%;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||