Compare commits
26 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 | |||
| a666749d85 |
@@ -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
|
||||
@@ -47,7 +49,8 @@
|
||||
Public Const MAT_T3 = "T3"
|
||||
Public Const MAT_T4 = "T4"
|
||||
Public Const MAT_T5 = "T5"
|
||||
Public Const MAT_K = "K"
|
||||
Public Const MAT_KEXTRUSION = "KExtrusion"
|
||||
Public Const MAT_KLAYERTIME = "KLayerTime"
|
||||
Public Const MAT_C1 = "C1"
|
||||
Public Const MAT_C2 = "C2"
|
||||
Public Const MAT_DENSITY = "Density"
|
||||
@@ -124,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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -196,7 +198,9 @@ Public Class CurrMachiningCathegory
|
||||
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),
|
||||
@@ -212,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),
|
||||
@@ -315,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
|
||||
@@ -358,12 +362,12 @@ 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
|
||||
@@ -375,10 +379,10 @@ Public Class CurrNumericMachiningParam
|
||||
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
|
||||
@@ -393,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
|
||||
@@ -405,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
|
||||
@@ -423,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
|
||||
@@ -437,7 +441,7 @@ Public Class CurrNumericMachiningParam
|
||||
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,
|
||||
@@ -453,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
|
||||
@@ -501,8 +508,8 @@ 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
|
||||
@@ -738,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)
|
||||
@@ -762,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)
|
||||
@@ -783,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
|
||||
|
||||
@@ -808,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
|
||||
|
||||
@@ -959,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>
|
||||
|
||||
@@ -20,7 +20,34 @@ 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
|
||||
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()
|
||||
@@ -45,7 +72,34 @@ 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
|
||||
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()
|
||||
@@ -221,6 +275,7 @@ Public Class DispositionPanelVM
|
||||
' seleziono percorso corrente
|
||||
EgtDeselectAll()
|
||||
EgtSelectObj(Map.refTopPanelVM.SelPart.nPartId)
|
||||
EgtDraw()
|
||||
End Sub
|
||||
|
||||
Friend Sub UpdateUI()
|
||||
@@ -229,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)
|
||||
@@ -239,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>
|
||||
@@ -76,6 +81,15 @@
|
||||
<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>
|
||||
@@ -145,6 +159,13 @@
|
||||
<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>
|
||||
@@ -209,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>
|
||||
@@ -281,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>
|
||||
@@ -325,6 +351,10 @@
|
||||
<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>
|
||||
@@ -401,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>
|
||||
@@ -528,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>
|
||||
@@ -671,6 +786,29 @@
|
||||
<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)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\Icarus\IcarusR32.exe
|
||||
@@ -678,4 +816,14 @@ IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Debug" copy $(TargetPa
|
||||
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>
|
||||
@@ -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
|
||||
@@ -39,6 +40,7 @@ Public Class Machining
|
||||
INTERNAL = 1
|
||||
EXTERNAL = 2
|
||||
UNBOUNDED = 3
|
||||
SUPPORT = 4
|
||||
End Enum
|
||||
|
||||
Public Enum MPAR_INFILL As Integer
|
||||
@@ -47,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
|
||||
@@ -198,8 +213,9 @@ Public Class Machining
|
||||
|
||||
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
|
||||
|
||||
@@ -309,7 +325,9 @@ Public Class MachiningCathegory
|
||||
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),
|
||||
@@ -325,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),
|
||||
@@ -452,9 +470,11 @@ Public MustInherit Class MachiningParam
|
||||
AUXSOLIDSWIPELEN = 53
|
||||
AUXSOLIDSWIPEDIR = 54
|
||||
SPIRALVASE = 55
|
||||
WIPEDIR = 56
|
||||
'WIPEDIR = 56
|
||||
STRANDOVERLAP = 57
|
||||
FLOWRATE_PC = 58
|
||||
DYNAMIC_MODE = 59
|
||||
PRINT_ORDER = 60
|
||||
MATERIALS = 100
|
||||
End Enum
|
||||
|
||||
@@ -583,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
|
||||
|
||||
@@ -627,7 +651,6 @@ Public Class NumericMachiningParam
|
||||
StringToDouble(value, m_dValue)
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(sValue))
|
||||
Map.refMachiningDbVM.NotifyPropertyChanged(NameOf(Map.refMachiningDbVM.ImpExp_IsEnabled))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -663,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
|
||||
@@ -706,27 +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, 0)
|
||||
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
|
||||
@@ -741,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
|
||||
@@ -753,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
|
||||
@@ -771,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
|
||||
@@ -822,8 +845,8 @@ Public Class NumericMachiningParam
|
||||
WriteMachiningParam(nIndex, MAC_WIPELEN, sWriteValue, sFilePath)
|
||||
Case Params.WIPEFEED_PC
|
||||
WriteMachiningParam(nIndex, MAC_WIPEFEEDPU, sWriteValue, sFilePath)
|
||||
Case Params.WIPEDIR
|
||||
WriteMachiningParam(nIndex, MAC_WIPEDIR, sWriteValue, sFilePath)
|
||||
'Case Params.WIPEDIR
|
||||
' WriteMachiningParam(nIndex, MAC_WIPEDIR, sWriteValue, sFilePath)
|
||||
Case Params.FLOORCOUNT
|
||||
WriteMachiningParam(nIndex, MAC_FLOORCOUNT, sWriteValue, sFilePath)
|
||||
Case Params.G0FEED
|
||||
@@ -893,7 +916,6 @@ Public Class StringMachiningParam
|
||||
Set(value As String)
|
||||
m_sValue = value
|
||||
NotifyPropertyChanged(NameOf(sValue))
|
||||
Map.refMachiningDbVM.NotifyPropertyChanged(NameOf(Map.refMachiningDbVM.ImpExp_IsEnabled))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -952,7 +974,6 @@ Public Class ComboMachiningParam
|
||||
Set(value As IdNameStruct)
|
||||
m_SelValue = value
|
||||
NotifyPropertyChanged(NameOf(SelValue))
|
||||
Map.refMachiningDbVM.NotifyPropertyChanged(NameOf(Map.refMachiningDbVM.ImpExp_IsEnabled))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -1001,46 +1022,51 @@ 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
|
||||
@@ -1068,6 +1094,8 @@ Public Class ComboMachiningParam
|
||||
WriteMachiningParam(nIndex, MAC_AUXSOLIDSSTRANDORDER, m_SelValue.Id, sFilePath)
|
||||
Case Params.AUXSOLIDSLINKTYPE
|
||||
WriteMachiningParam(nIndex, MAC_AUXSOLIDSLINKTYPE, m_SelValue.Id, sFilePath)
|
||||
Case Params.DYNAMIC_MODE
|
||||
WriteMachiningParam(nIndex, MAC_DYNAMICMODE, m_SelValue.Id, sFilePath)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -1093,7 +1121,6 @@ Public Class CheckMachiningParam
|
||||
Set(value As Boolean)
|
||||
m_bValue = value
|
||||
NotifyPropertyChanged(NameOf(bValue))
|
||||
Map.refMachiningDbVM.NotifyPropertyChanged(NameOf(Map.refMachiningDbVM.ImpExp_IsEnabled))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -1186,7 +1213,6 @@ Public Class MaterialMachiningParam
|
||||
Set(value As Boolean)
|
||||
m_bValue = value
|
||||
NotifyPropertyChanged(NameOf(bValue))
|
||||
Map.refMachiningDbVM.NotifyPropertyChanged(NameOf(Map.refMachiningDbVM.ImpExp_IsEnabled))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -1240,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
|
||||
|
||||
@@ -91,8 +91,7 @@
|
||||
<ItemsControl ItemsSource="{Binding MachiningParamList}">
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<UniformGrid Columns="1"
|
||||
HorizontalAlignment="Stretch"/>
|
||||
<StackPanel Orientation="Vertical"/>
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.Resources>
|
||||
@@ -186,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>
|
||||
|
||||
@@ -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, 2412, 1, m_nKeyLevel) And
|
||||
EgtGetKeyOptions(3279, 2412, 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
|
||||
|
||||
@@ -361,6 +361,7 @@ Public Class ManagePartPanelVM
|
||||
EgtSetColor(nRibsLayerId, GeomEntityColors.c3Rib)
|
||||
For Each PartManager_GeomEntity In ManagePart_Layer.EntityList
|
||||
EgtSetInfo(PartManager_GeomEntity.nId, KEY_RIB_TYPE, RibEntity.RibTypes.FROMIMPORT)
|
||||
EgtSetInfo(PartManager_GeomEntity.nId, RIB_ID, RibPanelVM.GetNextRibIndex())
|
||||
EgtRelocateGlob(PartManager_GeomEntity.nId, nRibsLayerId, GDB_POS.LAST_SON)
|
||||
' elimino colore entita'
|
||||
EgtResetColor(PartManager_GeomEntity.nId)
|
||||
|
||||
@@ -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()
|
||||
@@ -774,6 +801,7 @@ Public Class GeomEntity_MenuItem
|
||||
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
|
||||
@@ -806,6 +834,7 @@ Public Class GeomEntity_MenuItem
|
||||
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)
|
||||
@@ -926,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 "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()
|
||||
' 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 ' Command
|
||||
|
||||
End Class
|
||||
@@ -30,7 +30,7 @@ Imports System.Windows
|
||||
#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)>
|
||||
|
||||
@@ -70,5 +70,5 @@ Imports System.Windows
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("2.4.12.3")>
|
||||
<Assembly: AssemblyFileVersion("2.4.12.3")>
|
||||
<Assembly: AssemblyVersion("2.5.1.1")>
|
||||
<Assembly: AssemblyFileVersion("2.5.1.1")>
|
||||
|
||||
@@ -1229,6 +1229,8 @@ Public Class LayerColor
|
||||
Return "Layer Start"
|
||||
Case LayerType.OTHERS
|
||||
Return "Others"
|
||||
Case Else
|
||||
Return ""
|
||||
End Select
|
||||
End Get
|
||||
End Property
|
||||
|
||||
@@ -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.nPartId, "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 |
|
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;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
/* Services/Block */
|
||||
|
||||
.iosPdBlockDragAndDropPlaceholder {
|
||||
border: 3px dashed #c0c0c0;
|
||||
border-radius: 8px;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
/* Blocks */
|
||||
|
||||
div.il_Block, table.il_Block {
|
||||
width: 100%;
|
||||
border-spacing: 0px;
|
||||
border-collapse: collapse;
|
||||
margin-bottom: 20px;
|
||||
clear: both;
|
||||
table-layout: fixed;
|
||||
word-wrap: break-word;
|
||||
background-color: @il-main-dark-bg;
|
||||
border: none;
|
||||
text-align: left;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
#il_center_col div.il_Block {
|
||||
background-color: @il-main-dark-bg;
|
||||
}
|
||||
|
||||
div.ilBlockHeader, div.ilBlockHeaderBig,
|
||||
td.ilBlockHeader, td.ilBlockHeaderBig {
|
||||
/* font-family: 'Open Sans Semibold'; deactivated, since it affects drop downs in the header */
|
||||
font-weight: normal;
|
||||
padding: 3px 0;
|
||||
margin: 0 5px;
|
||||
text-align:left;
|
||||
color: @il-neutral-color;
|
||||
border-bottom: 1px solid @il-main-border-color;
|
||||
/* box-shadow: 0 -2px 1px -1px white inset; no white lines */
|
||||
}
|
||||
|
||||
div.ilBlockHeaderBig, td.ilBlockHeaderBig {
|
||||
font-size: 100%;
|
||||
}
|
||||
|
||||
h2.ilBlockHeader {
|
||||
font-weight: 600;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-size: 100%;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
h3.ilBlockHeader {
|
||||
font-weight: 600;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-size: 100%;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
|
||||
/* possibly deprecated */
|
||||
.il_BlockInfo {
|
||||
font-size: 80%;
|
||||
color: @il-text-light-color;
|
||||
}
|
||||
|
||||
/* new class */
|
||||
div.ilBlockInfo {
|
||||
font-size: 75%;
|
||||
color: @il-text-light-color;
|
||||
padding: 1px 3px;
|
||||
background-color: @il-main-dark-bg;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
div.ilBlockContent {
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.ilBlockRow1, .ilBlockRow2 {
|
||||
padding: 3px;
|
||||
border-bottom: 1px solid #f0f0f0;
|
||||
}
|
||||
|
||||
div.ilBlockPropertyCaption {
|
||||
color: @il-text-light-color;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
/* Services/Bookmarks */
|
||||
|
||||
#block_pdbookm_0 #tree_div {
|
||||
overflow: auto;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#block_pdbookm_0 .il_Block #tree_div img {
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
}
|
||||
|
||||
.iosPdBmListImg {
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
&[src$="spacer.png"] {
|
||||
height: 0;
|
||||
width: 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,860 @@
|
||||
/* --- Services/COPage ---*/
|
||||
|
||||
a.ilEditSubmit {
|
||||
background: url("@{il-background-images-path}ButtonsBack.png") repeat-x bottom white;
|
||||
padding: 2px;
|
||||
margin: 0;
|
||||
border: 1px solid #bababa;
|
||||
border-bottom-color: @il-neutral-light-color;
|
||||
border-right-color: @il-neutral-light-color;
|
||||
text-decoration: none;
|
||||
font-size: 80%;
|
||||
line-height: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
input.ilEditSubmit {
|
||||
color: #2255a0;
|
||||
padding: 1px;
|
||||
margin: 0;
|
||||
font-size: 12px;
|
||||
line-height: 14px;
|
||||
cursor: pointer;
|
||||
background: url("@{il-background-images-path}ButtonsBack.png") repeat-x bottom white;
|
||||
border: 1px solid #bababa;
|
||||
border-bottom-color: @il-neutral-light-color;
|
||||
border-right-color: @il-neutral-light-color;
|
||||
&:hover {
|
||||
color: @il-text-hover-color;
|
||||
}
|
||||
}
|
||||
|
||||
div.ilEditHelpline {
|
||||
margin: 3px 0;
|
||||
padding: 0;
|
||||
font-size: 80%;
|
||||
background-color: white;
|
||||
color: black;
|
||||
}
|
||||
|
||||
select.ilEditSelect {
|
||||
background: none white;
|
||||
border: 1px solid #bbb;
|
||||
padding: 1px;
|
||||
text-decoration: none;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
[data-copg-ed-type='add-area'] {
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
button.copg-add.dropdown-toggle.btn,
|
||||
button.copg-add.dropdown-toggle.btn:focus,
|
||||
button.copg-add.dropdown-toggle.btn:hover {
|
||||
padding: 1px 5px;
|
||||
text-align: center;
|
||||
font-size: @font-size-small;
|
||||
background-color: transparent;
|
||||
cursor: pointer;
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
button.copg-add.dropdown-toggle.btn,
|
||||
button.copg-add.dropdown-toggle.btn:focus,
|
||||
button.copg-add.dropdown-toggle.btn:hover,
|
||||
#copg-editor-help {
|
||||
|
||||
.glyphicon-plus-sign, .il-copg-add-text {
|
||||
color: @il-btn-standard-bg;
|
||||
font-size: @il-font-size-large;
|
||||
}
|
||||
}
|
||||
|
||||
button.copg-add.dropdown-toggle.btn:hover {
|
||||
background-color: lighten(@il-btn-standard-bg, 50%);
|
||||
color: @il-text-light-color;
|
||||
}
|
||||
|
||||
[data-copg-ed-type='add-area'] ul.dropdown-menu {
|
||||
left: 45%;
|
||||
}
|
||||
button.copg-add:hover {
|
||||
color: lighten(@il-secondary-color, 10%);
|
||||
background-color: lighten(@il-secondary-color, 52%);
|
||||
}
|
||||
|
||||
div.il_droparea {
|
||||
padding: 1px 5px;
|
||||
border: 1px dashed #d0d0d0;
|
||||
color: #d0d0d0;
|
||||
text-align: center;
|
||||
font-size: @font-size-small;
|
||||
background-color: #fffed1;
|
||||
cursor: pointer;
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
|
||||
div.il_droparea:hover, div.ilCOPGDropActice, .il_droparea_valid_target {
|
||||
border-color: lighten(@il-secondary-color, 10%);
|
||||
color: lighten(@il-secondary-color, 10%);
|
||||
background-color: lighten(@il-secondary-color, 52%);
|
||||
}
|
||||
|
||||
div.ilCOPGNoPageContent {
|
||||
padding: 20px 5px;
|
||||
color: #a0a0a0;
|
||||
}
|
||||
|
||||
|
||||
div.il_editarea_nojs {
|
||||
border-width: 1px dotted #999;
|
||||
}
|
||||
|
||||
div.il_editarea, div.il_editarea_disabled {
|
||||
border: 2px solid transparent;
|
||||
min-height: 20px;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.copg-state-page, .copg-state-multi {
|
||||
div.il_editarea:hover, div.il_editarea_disabled:hover {
|
||||
border: 2px solid @il-main-color;
|
||||
}
|
||||
}
|
||||
|
||||
div.ilEditLabel {
|
||||
position: absolute;
|
||||
background-color: @il-main-color;
|
||||
color: #f0f0f0;
|
||||
font-size: 70%;
|
||||
padding: 1px 3px;
|
||||
margin-top: -15px;
|
||||
margin-left: -2px;
|
||||
border: 0;
|
||||
height: 15px;
|
||||
display: none;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.copg-state-page, .copg-state-multi {
|
||||
div.il_editarea:hover > div.ilEditLabel,
|
||||
div.il_editarea_disabled:hover > div.ilEditLabel,
|
||||
.copg-ghost-wrapper div.ilEditLabel {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
div.il_editarea_selected:hover > div.ilEditLabel {
|
||||
background-color: @il-secondary-color;
|
||||
}
|
||||
|
||||
|
||||
div.ilc_page_Page > div.il_editarea_disabled {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
div.il_editarea_disabled, div.copg-disabled-page {
|
||||
border: 2px dotted @brand-warning;
|
||||
min-height: 20px;
|
||||
}
|
||||
|
||||
.ilCopgDisabledText {
|
||||
color: @brand-warning;
|
||||
position: absolute;
|
||||
font-size: @font-size-small;
|
||||
margin-top: -13px;
|
||||
padding: 2px 5px;
|
||||
background-color: @il-main-dark-bg;
|
||||
}
|
||||
|
||||
|
||||
div.il_editarea_selected, div.copg-current-edit, #tinytarget_ifr {
|
||||
border-style: solid;
|
||||
border-width: 2px;
|
||||
border-color: lighten(@il-secondary-color, 30%);
|
||||
}
|
||||
|
||||
div.il_editarea_selected:hover {
|
||||
border-color: @il-secondary-color;
|
||||
}
|
||||
|
||||
div.il_editarea_disabled_selected
|
||||
{
|
||||
border: 2px solid @brand-warning;
|
||||
min-height: 20px;
|
||||
}
|
||||
|
||||
div.il_editarea_active_selected {
|
||||
border: 2px solid black;
|
||||
min-height: 20px;
|
||||
}
|
||||
|
||||
.il_editmenu {
|
||||
background-color: white;
|
||||
color: black;
|
||||
font-weight: normal;
|
||||
text-align: left;
|
||||
font-style: normal;
|
||||
text-indent: 0;
|
||||
font-size: 14px;
|
||||
z-index: 5000;
|
||||
}
|
||||
|
||||
table.il_editmenu td {
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
div.ilEditVAccordCntr {
|
||||
margin-top: 15px;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
div.ilEditVAccordICntr {
|
||||
background-color: white;
|
||||
margin-bottom: 15px;
|
||||
border: 1px solid #9eadba;
|
||||
}
|
||||
|
||||
div.ilEditVAccordIHead {
|
||||
padding: 3px;
|
||||
background-color: #e2eaf4;
|
||||
text-align: left;
|
||||
background-repeat: no-repeat;
|
||||
background-position: 3px 4px;
|
||||
}
|
||||
|
||||
div.ilEditVAccordICont {
|
||||
padding: 10px;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.ilTinyMenuSection .dropdown, .il-copg-button-group .dropdown {
|
||||
display:inline-block;
|
||||
}
|
||||
.ilTinyMenuSection .dropdown-menu .btn, .il-copg-button-group .dropdown-menu .btn {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.ilTinyMenuSection .btn svg {
|
||||
fill: black;
|
||||
margin: -8px;
|
||||
}
|
||||
|
||||
.ilTinyMenuSection .btn[disabled] svg {
|
||||
fill: #D0D0D0;
|
||||
}
|
||||
|
||||
div.ilTinyMenuSection, .il-copg-button-group {
|
||||
white-space: nowrap;
|
||||
/* border-right: 1px solid #e0e0e0; */
|
||||
/* padding: 0 10px 4px 0; */
|
||||
margin-right: 10px;
|
||||
margin: 10px 10px 10px 0;
|
||||
|
||||
p {
|
||||
margin-bottom: 5px;
|
||||
padding: 2px 5px;
|
||||
background-color: darken(@il-main-dark-bg, 4%);
|
||||
}
|
||||
|
||||
@media only screen and (max-width: @grid-float-breakpoint-max) {
|
||||
height: 28px;
|
||||
margin: 3px 3px 3px 0px;
|
||||
padding: 0 10px 0 0;
|
||||
border-right: 0 none;
|
||||
}
|
||||
}
|
||||
|
||||
div.ilTinyMenuSection button.btn {
|
||||
background: white;
|
||||
border: 0;
|
||||
color: black;
|
||||
}
|
||||
|
||||
div.il-copg-button-group ul.dropdown-menu {
|
||||
right: auto;
|
||||
}
|
||||
|
||||
div.il-copg-button-group-wide {
|
||||
width: 100%;
|
||||
float: none;
|
||||
}
|
||||
|
||||
[dir="rtl"] div.ilTinyMenuSection {
|
||||
float: right;
|
||||
border-right: none;
|
||||
border-left: 1px solid @il-main-border-color;
|
||||
padding: 0 0 4px 10px;
|
||||
margin-right: 0;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
#ilTinyMenuButtons {
|
||||
padding-bottom: 15px;
|
||||
zoom:1;
|
||||
@media only screen and (max-width: @grid-float-breakpoint-max) {
|
||||
height: 28px;
|
||||
margin: 3px 3px 3px 0;
|
||||
padding: 0 10px 0 0;
|
||||
border-right: 0 none;
|
||||
}
|
||||
}
|
||||
|
||||
#iltinymenu .bd div.last {
|
||||
float: left;
|
||||
white-space: nowrap;
|
||||
padding: 0 10px 2px 0;
|
||||
border-right: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#iltinymenu {
|
||||
padding: 0 @il-padding-xlarge-horizontal;
|
||||
.bd {
|
||||
div {
|
||||
&.last {
|
||||
float: left;
|
||||
white-space: nowrap;
|
||||
padding: 0 10px 2px 0;
|
||||
border-right: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.small {
|
||||
color: @il-text-light-color;
|
||||
font-style: italic;
|
||||
}
|
||||
}
|
||||
}
|
||||
.btn-default {
|
||||
.mce-ico {
|
||||
color: inherit !important;
|
||||
}
|
||||
}
|
||||
|
||||
a.btn {
|
||||
min-width: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
#iltinymenu_bd {
|
||||
}
|
||||
|
||||
#ilsaving {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
text-decoration: blink;
|
||||
z-index: 3;
|
||||
}
|
||||
|
||||
.ilTinyMenuDropDown span {
|
||||
padding: 2px 0 0 5px;
|
||||
width: 75px;
|
||||
overflow: hidden;
|
||||
display: inline-block;
|
||||
line-height: 1em;
|
||||
}
|
||||
|
||||
a.ilTinyMenuDropDown {
|
||||
display: inline-block;
|
||||
padding: 0 2px 1px 0;
|
||||
}
|
||||
|
||||
/* if the ilc_page_cont_PageContainer is declared as being relative in the content.css drop downs will be truncated */
|
||||
#ilEditorTD {
|
||||
position: static;
|
||||
}
|
||||
|
||||
#ilEditorTD p {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* Page TOC */
|
||||
div.ilc_page_toc_PageTOC {
|
||||
font-size: 90%;
|
||||
padding: 5px 5px 10px;
|
||||
background-color: @il-main-dark-bg;
|
||||
border: 1px solid #f0f0f0;
|
||||
float: left;
|
||||
}
|
||||
|
||||
h1.ilc_page_toc_PageTOCHead {
|
||||
margin: 0;
|
||||
font-size: 100%;
|
||||
padding: 0;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
ul.ilc_page_toc_PageTOCList {
|
||||
margin: 0 0 0 10px;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
li.ilc_page_toc_PageTOCItem {
|
||||
margin: 5px 0 0;
|
||||
padding: 0;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
a.ilc_page_toc_PageTOCLink {
|
||||
color: #03a;
|
||||
font-weight: normal;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a.ilc_page_toc_PageTOCLink:hover {
|
||||
color: black;
|
||||
}
|
||||
|
||||
a.ilc_page_toc_PageTOCLink:visited {
|
||||
color: blue;
|
||||
}
|
||||
|
||||
/* --- content styles (will move to content.css) --- */
|
||||
td.ilc_PageDisabled {
|
||||
padding: 20px;
|
||||
border: 1px solid #9eadba;
|
||||
margin-bottom: 0;
|
||||
border-left: 3px dotted @il-danger-color;
|
||||
}
|
||||
|
||||
div.ilc_DefinitionHeader {
|
||||
margin: 20px 0 10px 0;
|
||||
padding: 5px 0;
|
||||
border: 1px solid black;
|
||||
border-width: 1px 0;
|
||||
}
|
||||
|
||||
table.ilc_Fullscreen {
|
||||
background-color: white;
|
||||
position: absolute;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
html.ilc_Fullscreen, body.ilc_Fullscreen {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
td > div, td > div > figure > div > iframe {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
div.ilLMMenu {
|
||||
margin: 0 0 5px 10px;
|
||||
}
|
||||
|
||||
div.ilc_LMMenu {
|
||||
line-height: 22px;
|
||||
}
|
||||
|
||||
a.ilc_LMMenu {
|
||||
padding: 1px 5px;
|
||||
margin: 2px 0;
|
||||
border: 1px solid #b0b0b0;
|
||||
background-color: #e6ecf8;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
div.ilc_TableOfContents {
|
||||
background-color: white;
|
||||
padding: 20px;
|
||||
border-spacing: 1px;
|
||||
border: 1px solid #eee;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
table.ilc_media {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
h1.il_LMHead {
|
||||
margin: 12px 15px 6px;
|
||||
font-size: 120%;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
table.ilc_Table {
|
||||
border-collapse: collapse;
|
||||
background-color: white;
|
||||
margin: 10px 0;
|
||||
border-color: #9eadba;
|
||||
}
|
||||
|
||||
/* COPage Comparison */
|
||||
|
||||
div.ilEditModified, div.ilEditDeleted, div.ilEditNew {
|
||||
border: 3px solid;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
div.ilEditModified {
|
||||
border-color: @il-main-color;
|
||||
}
|
||||
|
||||
div.ilEditDeleted {
|
||||
border-color: @brand-warning;
|
||||
}
|
||||
|
||||
div.ilEditNew {
|
||||
border-color: @il-secondary-color;
|
||||
}
|
||||
|
||||
.ilCOPGCompareLegend {
|
||||
display: inline-block;
|
||||
margin-top: 5px;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
span.ilDiffDel {
|
||||
background-color: lighten(@brand-warning, 30%);
|
||||
}
|
||||
|
||||
span.ilDiffIns {
|
||||
background-color: lighten(@il-secondary-color, 30%);
|
||||
}
|
||||
|
||||
a.nostyle:link, a.nostyle:visited {
|
||||
text-decoration: none;
|
||||
color: @il-text-hover-color;
|
||||
}
|
||||
|
||||
a.nostyle:hover {
|
||||
color: @il-text-hover-color;
|
||||
}
|
||||
|
||||
#ilEditorPanel_c {
|
||||
z-index: 3000 !important;
|
||||
}
|
||||
|
||||
#error_panel_c {
|
||||
z-index: 2000 !important;
|
||||
}
|
||||
|
||||
#ilPageEditLegend {
|
||||
margin: 10px 0;
|
||||
> div {
|
||||
margin: 5px 0;
|
||||
}
|
||||
.il_droparea {
|
||||
&, &:hover {
|
||||
display: inline-block;
|
||||
width: 40px;
|
||||
cursor: default;
|
||||
height: 21px;
|
||||
}
|
||||
}
|
||||
|
||||
tr > td {
|
||||
padding: @il-padding-base-vertical @il-padding-xlarge-horizontal;
|
||||
}
|
||||
|
||||
tr > td:first-child {
|
||||
white-space: nowrap;
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
|
||||
.ilPageEditLegendElement {
|
||||
width: 40px;
|
||||
border: 1px solid #d0d0d0;
|
||||
height: 21px;
|
||||
display: inline-block;
|
||||
font-size: 12px;
|
||||
padding: 1px 5px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.ilCOPGMediaDisabled {
|
||||
padding: 5px;
|
||||
font-size: 0px;
|
||||
line-height: 100%;
|
||||
text-align: center;
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
background-color: darken(@il-secondary-color, 20%);
|
||||
color: white;
|
||||
}
|
||||
|
||||
.ilCOPgEditStyleSelectionItem {
|
||||
padding: 10px;
|
||||
background-color: @il-main-dark-bg;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.ilCOPgEditStyleSelectionItem:hover {
|
||||
background-color: @il-highlight-bg;
|
||||
}
|
||||
|
||||
ul#ilAdvSelListTable_style_selection {
|
||||
overflow: auto;
|
||||
max-height: 400px;
|
||||
}
|
||||
|
||||
a.ilCOPageSection {
|
||||
color: inherit;
|
||||
text-decoration: inherit;
|
||||
}
|
||||
|
||||
#ilAdvSelListAnchorText_char_style_selection > span {
|
||||
min-width: auto;
|
||||
}
|
||||
|
||||
div.ilc_answers.answer-table div.ilc_qanswer_Answer {
|
||||
display: table-row;
|
||||
}
|
||||
|
||||
div.ilc_answers.answer-table div.ilc_qanswer_Answer > div {
|
||||
display: table-cell;
|
||||
}
|
||||
|
||||
div.ilc_question_SingleChoice .answertext > p, div.ilc_question_MultipleChoice .answertext > p {
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
div.ilc_question_SingleChoice .ilc_qanswer_Answer > div:first-child,
|
||||
div.ilc_question_MultipleChoice .ilc_qanswer_Answer > div:first-child {
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
|
||||
div.ilCOPGMediaPrint {
|
||||
background-color: @il-main-dark-bg !important;
|
||||
position: relative !important;
|
||||
background-image: url("@{il-background-images-path}play.svg") !important;
|
||||
background-position: 50% 50% !important;
|
||||
background-repeat: no-repeat !important;
|
||||
background-size: auto 90% !important;
|
||||
padding: 1px !important;
|
||||
}
|
||||
|
||||
/* fullscreen iframe */
|
||||
.il-copg-mob-fullscreen {
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.il-copg-mob-fullscreen-modal .modal-dialog {
|
||||
width:95%;
|
||||
}
|
||||
|
||||
.ilTinyParagraphClassSelector ul.dropdown-menu,
|
||||
.ilTinyMenuSection > div.dropdown:nth-child(2) > ul.dropdown-menu,
|
||||
.ilSectionClassSelector ul.dropdown-menu {
|
||||
right: auto;
|
||||
}
|
||||
|
||||
#il_prop_cont_characteristic ul.dropdown-menu {
|
||||
right: auto;
|
||||
}
|
||||
|
||||
|
||||
#iltinymenu .dropdown-menu li {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#tinytarget_ifr > body#tinymce {
|
||||
background-color: inherit;
|
||||
}
|
||||
|
||||
#tinytarget_ifr {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#tinytarget_div {
|
||||
|
||||
position: absolute;
|
||||
top:0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
div.tox-edit-area {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.tox-tinymce {
|
||||
border: 0;
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
.copg-ghost-wrapper {
|
||||
min-height: 20px;
|
||||
position: relative; /* important for the absolute positioned tinytarget_div */
|
||||
}
|
||||
|
||||
.copg-input-ghost {
|
||||
visibility: hidden;
|
||||
min-width: 100px;
|
||||
}
|
||||
|
||||
#copg-editor-slate-content {
|
||||
padding: @il-padding-xlarge-vertical 0px;
|
||||
|
||||
p {
|
||||
padding: 0;
|
||||
margin: 5px 0;
|
||||
}
|
||||
|
||||
p.ilTinyInfo {
|
||||
padding: 4px;
|
||||
width: 100%;
|
||||
@media only screen and (max-width: @grid-float-breakpoint-max) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
div.alert {
|
||||
margin: 10px 0;
|
||||
}
|
||||
form.form-horizontal {
|
||||
margin-bottom: @il-padding-xlarge-vertical;
|
||||
.ilFormHeader {
|
||||
padding: @il-padding-xlarge-vertical @il-padding-xlarge-horizontal;
|
||||
h3.ilHeader {
|
||||
font-size: @font-size-base;
|
||||
}
|
||||
}
|
||||
.col-sm-3, .col-sm-9 {
|
||||
width: 100%;
|
||||
}
|
||||
.control-label {
|
||||
text-align: left;
|
||||
font-weight: bold;
|
||||
min-height: auto;
|
||||
padding-bottom: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.ilFormFooter {
|
||||
padding: @il-padding-base-vertical @il-padding-xlarge-horizontal;
|
||||
background-color: @il-main-bg;
|
||||
}
|
||||
}
|
||||
|
||||
> .btn-link {
|
||||
padding: 0px @il-padding-xlarge-horizontal;
|
||||
}
|
||||
}
|
||||
|
||||
#copg-top-actions {
|
||||
padding: 0 @il-padding-xlarge-horizontal;
|
||||
}
|
||||
|
||||
.copg-edit-button-group {
|
||||
padding: @il-padding-base-vertical @il-padding-xlarge-horizontal;
|
||||
}
|
||||
|
||||
p#copg-auto-save {
|
||||
padding: 0;
|
||||
margin: -5px 0 0 0;
|
||||
}
|
||||
|
||||
.copg-edit-container {
|
||||
border: 1px dashed #d0d0d0;
|
||||
}
|
||||
|
||||
/* very important: add areas around floating images https://stackoverflow.com/questions/1260122/expand-a-div-to-fill-the-remaining-width and https://css-tricks.com/popping-hidden-overflow/ */
|
||||
#il_EditPage [data-copg-ed-type="add-area"] {
|
||||
position: relative;
|
||||
|
||||
> .dropdown {
|
||||
overflow: hidden;
|
||||
position: static;
|
||||
> ul {
|
||||
position: absolute;
|
||||
z-index: 10;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
this fixes the add drop down click behaviour for touch devices
|
||||
see: https://github.com/twbs/bootstrap/issues/4550#issuecomment-31916049
|
||||
and: https://mantis.ilias.de/view.php?id=29785
|
||||
*/
|
||||
#il_EditPage .dropdown-backdrop {
|
||||
position: static;
|
||||
}
|
||||
|
||||
#ed_datatable {
|
||||
|
||||
background-color: @il-main-bg;
|
||||
|
||||
th {
|
||||
background-color: @il-main-dark-bg;
|
||||
.dropdown button {
|
||||
background-color: @il-main-dark-bg;
|
||||
text-align: center;
|
||||
color: @il-text-color;
|
||||
width: 100%;
|
||||
border: 0;
|
||||
}
|
||||
}
|
||||
|
||||
th, td {
|
||||
border: 1px solid #CCCCCC;
|
||||
}
|
||||
|
||||
th {
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
|
||||
.copg-new-content-placeholder {
|
||||
text-align: center;
|
||||
color: @il-text-light-color;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.il-copg-drag {
|
||||
width: 40px;
|
||||
border: 1px solid @il-main-color;
|
||||
height: 30px;
|
||||
z-index: 100000;
|
||||
}
|
||||
|
||||
.il-copg-media-cover {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
z-index: 9;
|
||||
}
|
||||
|
||||
.il-copg-edit-list-button {
|
||||
padding: 0;
|
||||
img {
|
||||
filter: invert(100%);
|
||||
width: 26px;
|
||||
height: 25px;
|
||||
}
|
||||
}
|
||||
|
||||
#il-copg-ed-modal .modal-content {
|
||||
.Whoops.container {
|
||||
.left-panel {
|
||||
position: static;
|
||||
float: left;
|
||||
}
|
||||
.details-container {
|
||||
position: static;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,362 @@
|
||||
/*!
|
||||
* Datetimepicker for Bootstrap 3
|
||||
* version : 4.17.37
|
||||
* https://github.com/Eonasdan/bootstrap-datetimepicker/
|
||||
*/
|
||||
|
||||
/* see variables.less
|
||||
@bs-datetimepicker-timepicker-font-size: 1.2em;
|
||||
@bs-datetimepicker-active-bg: @btn-primary-bg;
|
||||
@bs-datetimepicker-active-color: @btn-primary-color;
|
||||
@bs-datetimepicker-border-radius: @border-radius-base;
|
||||
@bs-datetimepicker-btn-hover-bg: @gray-lighter;
|
||||
@bs-datetimepicker-disabled-color: @gray-light;
|
||||
@bs-datetimepicker-alternate-color: @gray-light;
|
||||
@bs-datetimepicker-secondary-border-color: #ccc;
|
||||
@bs-datetimepicker-secondary-border-color-rgba: rgba(0, 0, 0, 0.2);
|
||||
@bs-datetimepicker-primary-border-color: white;
|
||||
@bs-datetimepicker-text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
||||
*/
|
||||
|
||||
.bootstrap-datetimepicker-widget {
|
||||
list-style: none;
|
||||
|
||||
&.dropdown-menu {
|
||||
margin: 2px 0;
|
||||
padding: 4px;
|
||||
width: 19em;
|
||||
|
||||
&.timepicker-sbs {
|
||||
@media (min-width: @screen-sm-min) {
|
||||
width: 38em;
|
||||
}
|
||||
|
||||
@media (min-width: @screen-md-min) {
|
||||
width: 38em;
|
||||
}
|
||||
|
||||
@media (min-width: @screen-lg-min) {
|
||||
width: 38em;
|
||||
}
|
||||
}
|
||||
|
||||
&:before, &:after {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
&.bottom {
|
||||
&:before {
|
||||
border-left: 7px solid transparent;
|
||||
border-right: 7px solid transparent;
|
||||
border-bottom: 7px solid @bs-datetimepicker-secondary-border-color;
|
||||
border-bottom-color: @bs-datetimepicker-secondary-border-color-rgba;
|
||||
top: -7px;
|
||||
left: 7px;
|
||||
}
|
||||
|
||||
&:after {
|
||||
border-left: 6px solid transparent;
|
||||
border-right: 6px solid transparent;
|
||||
border-bottom: 6px solid @bs-datetimepicker-primary-border-color;
|
||||
top: -6px;
|
||||
left: 8px;
|
||||
}
|
||||
}
|
||||
|
||||
&.top {
|
||||
&:before {
|
||||
border-left: 7px solid transparent;
|
||||
border-right: 7px solid transparent;
|
||||
border-top: 7px solid @bs-datetimepicker-secondary-border-color;
|
||||
border-top-color: @bs-datetimepicker-secondary-border-color-rgba;
|
||||
bottom: -7px;
|
||||
left: 6px;
|
||||
}
|
||||
|
||||
&:after {
|
||||
border-left: 6px solid transparent;
|
||||
border-right: 6px solid transparent;
|
||||
border-top: 6px solid @bs-datetimepicker-primary-border-color;
|
||||
bottom: -6px;
|
||||
left: 7px;
|
||||
}
|
||||
}
|
||||
|
||||
&.pull-right {
|
||||
&:before {
|
||||
left: auto;
|
||||
right: 6px;
|
||||
}
|
||||
|
||||
&:after {
|
||||
left: auto;
|
||||
right: 7px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.list-unstyled {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
a[data-action] {
|
||||
padding: 6px 0;
|
||||
}
|
||||
|
||||
a[data-action]:active {
|
||||
.box-shadow(none);
|
||||
}
|
||||
|
||||
.timepicker-hour, .timepicker-minute, .timepicker-second {
|
||||
width: 54px;
|
||||
font-weight: bold;
|
||||
font-size: @bs-datetimepicker-timepicker-font-size;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
button[data-action] {
|
||||
padding: 6px;
|
||||
}
|
||||
|
||||
.btn[data-action="incrementHours"]::after {
|
||||
.sr-only();
|
||||
content: "Increment Hours";
|
||||
}
|
||||
|
||||
.btn[data-action="incrementMinutes"]::after {
|
||||
.sr-only();
|
||||
content: "Increment Minutes";
|
||||
}
|
||||
|
||||
.btn[data-action="decrementHours"]::after {
|
||||
.sr-only();
|
||||
content: "Decrement Hours";
|
||||
}
|
||||
|
||||
.btn[data-action="decrementMinutes"]::after {
|
||||
.sr-only();
|
||||
content: "Decrement Minutes";
|
||||
}
|
||||
|
||||
.btn[data-action="showHours"]::after {
|
||||
.sr-only();
|
||||
content: "Show Hours";
|
||||
}
|
||||
|
||||
.btn[data-action="showMinutes"]::after {
|
||||
.sr-only();
|
||||
content: "Show Minutes";
|
||||
}
|
||||
|
||||
.btn[data-action="togglePeriod"]::after {
|
||||
.sr-only();
|
||||
content: "Toggle AM/PM";
|
||||
}
|
||||
|
||||
.btn[data-action="clear"]::after {
|
||||
.sr-only();
|
||||
content: "Clear the picker";
|
||||
}
|
||||
|
||||
.btn[data-action="today"]::after {
|
||||
.sr-only();
|
||||
content: "Set the date to today";
|
||||
}
|
||||
|
||||
.picker-switch {
|
||||
text-align: center;
|
||||
|
||||
&::after {
|
||||
.sr-only();
|
||||
content: "Toggle Date and Time Screens";
|
||||
}
|
||||
|
||||
td {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
height: auto;
|
||||
width: auto;
|
||||
line-height: inherit;
|
||||
|
||||
span {
|
||||
line-height: 2.5;
|
||||
height: 2.5em;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
|
||||
|
||||
& td,
|
||||
& th {
|
||||
text-align: center;
|
||||
border-radius: @bs-datetimepicker-border-radius;
|
||||
}
|
||||
|
||||
& th {
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
width: 20px;
|
||||
|
||||
&.picker-switch {
|
||||
width: 145px;
|
||||
}
|
||||
|
||||
&.disabled,
|
||||
&.disabled:hover {
|
||||
background: none;
|
||||
color: @bs-datetimepicker-disabled-color;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
&.prev::after {
|
||||
.sr-only();
|
||||
content: "Previous Month";
|
||||
}
|
||||
|
||||
&.next::after {
|
||||
.sr-only();
|
||||
content: "Next Month";
|
||||
}
|
||||
}
|
||||
|
||||
& thead tr:first-child th {
|
||||
cursor: pointer;
|
||||
|
||||
&:hover {
|
||||
background: @bs-datetimepicker-btn-hover-bg;
|
||||
color: @il-text-hover-color;
|
||||
}
|
||||
}
|
||||
|
||||
& td {
|
||||
height: 54px;
|
||||
line-height: 54px;
|
||||
width: 54px;
|
||||
|
||||
&.cw {
|
||||
font-size: .8em;
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
color: @bs-datetimepicker-alternate-color;
|
||||
}
|
||||
|
||||
&.day {
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
width: 20px;
|
||||
}
|
||||
|
||||
&.day:hover,
|
||||
&.hour:hover,
|
||||
&.minute:hover,
|
||||
&.second:hover {
|
||||
background: @bs-datetimepicker-btn-hover-bg;
|
||||
color: @il-text-hover-color;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
&.old,
|
||||
&.new {
|
||||
color: @bs-datetimepicker-alternate-color;
|
||||
}
|
||||
|
||||
&.today {
|
||||
position: relative;
|
||||
|
||||
&:before {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
border: solid transparent;
|
||||
border-width: 0 0 7px 7px;
|
||||
border-bottom-color: @bs-datetimepicker-active-bg;
|
||||
border-top-color: @bs-datetimepicker-secondary-border-color-rgba;
|
||||
position: absolute;
|
||||
bottom: 4px;
|
||||
right: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
&.active,
|
||||
&.active:hover {
|
||||
background-color: @bs-datetimepicker-active-bg;
|
||||
color: @bs-datetimepicker-active-color;
|
||||
text-shadow: @bs-datetimepicker-text-shadow;
|
||||
}
|
||||
|
||||
&.active.today:before {
|
||||
border-bottom-color: white;
|
||||
}
|
||||
|
||||
&.disabled,
|
||||
&.disabled:hover {
|
||||
background: none;
|
||||
color: @bs-datetimepicker-disabled-color;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
span {
|
||||
display: inline-block;
|
||||
width: 54px;
|
||||
height: 54px;
|
||||
line-height: 54px;
|
||||
margin: 2px 1.5px;
|
||||
cursor: pointer;
|
||||
border-radius: @bs-datetimepicker-border-radius;
|
||||
|
||||
&:hover {
|
||||
background: @bs-datetimepicker-btn-hover-bg;
|
||||
color: @il-text-hover-color;
|
||||
}
|
||||
|
||||
&.active {
|
||||
background-color: @bs-datetimepicker-active-bg;
|
||||
color: @bs-datetimepicker-active-color;
|
||||
text-shadow: @bs-datetimepicker-text-shadow;
|
||||
}
|
||||
|
||||
&.old {
|
||||
color: @bs-datetimepicker-alternate-color;
|
||||
}
|
||||
|
||||
&.disabled,
|
||||
&.disabled:hover {
|
||||
background: none;
|
||||
color: @bs-datetimepicker-disabled-color;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.usetwentyfour {
|
||||
td.hour {
|
||||
height: 27px;
|
||||
line-height: 27px;
|
||||
}
|
||||
}
|
||||
|
||||
&.wider {
|
||||
width: 21em;
|
||||
}
|
||||
|
||||
& .datepicker-decades .decade {
|
||||
line-height: 1.8em !important;
|
||||
}
|
||||
}
|
||||
|
||||
.input-group.date {
|
||||
& .input-group-addon {
|
||||
cursor: pointer;
|
||||
border: 1px solid @il-main-border-dark-color;
|
||||
&:last-child {
|
||||
border-left: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,474 @@
|
||||
/* Services/Calendar */
|
||||
|
||||
td.even {
|
||||
color: @il-text-color;
|
||||
background-color: @il-main-dark-bg;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
td.uneven {
|
||||
color: @il-text-color;
|
||||
background-color: @il-content-bg;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
td.today {
|
||||
background-color: @il-content-bg;
|
||||
}
|
||||
|
||||
|
||||
td.date {
|
||||
background-color: @il-main-dark-bg;
|
||||
}
|
||||
|
||||
td.prevMonth {
|
||||
background-color: @il-main-dark-bg;
|
||||
}
|
||||
|
||||
div#block_cal_sel_0 div.ilBlockContent {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
div.ilCalSelAct {
|
||||
font-size: 90%;
|
||||
padding: 2px 2px 3px 0;
|
||||
}
|
||||
|
||||
div.ilCalSelSelAll {
|
||||
font-size: 80%;
|
||||
padding: 3px 2px 2px 0;
|
||||
}
|
||||
|
||||
div.ilCalSelList {
|
||||
max-height: 300px;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.ilCalSelList img {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
ul.ilCalSel {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
ul.ilCalSel li {
|
||||
margin: 0;
|
||||
/* padding: 0 0 0 48px; */
|
||||
margin: 0;
|
||||
border-bottom: 1px solid @il-content-bg;
|
||||
/* min-height: 25px; */
|
||||
}
|
||||
|
||||
ul.ilCalSel li > div {
|
||||
display:table-row;
|
||||
}
|
||||
|
||||
ul.ilCalSel li > div > div {
|
||||
display:table-cell;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
ul.ilCalSel li > div > div.ilCalColSpan {
|
||||
border-left: 5px solid;
|
||||
padding: 2px 5px;
|
||||
}
|
||||
|
||||
ul.ilCalSel li img {
|
||||
}
|
||||
|
||||
div.ilCalSelList h6 {
|
||||
padding-left: 5px;
|
||||
font-size: @font-size-small;
|
||||
margin-top: 16px;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
div.ilCalSelTitle {
|
||||
padding: 5px 3px 3px;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
table.calmini {
|
||||
width: 100%;
|
||||
font-size: 90%;
|
||||
//border-spacing: 2px;
|
||||
//border-collapse: separate;
|
||||
border-collapse: collapse;
|
||||
background-color: @il-main-dark-bg;
|
||||
border: none;
|
||||
tr, td, th {
|
||||
border: none;
|
||||
padding: 5px 3px;
|
||||
@media only screen and (max-width: 991px) {padding: 5px 1px;}
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
color: @il-text-color;
|
||||
background-color: transparent;
|
||||
}
|
||||
tr:nth-child(odd) {
|
||||
background-color: @il-main-dark-bg;
|
||||
}
|
||||
tr:nth-child(even) {
|
||||
background-color: @il-main-bg;
|
||||
}
|
||||
th.calmini, th.calminiweek {
|
||||
font-weight: 600;
|
||||
font-size: 90%;
|
||||
}
|
||||
td.calministd > .il_calmini_monthday > a {
|
||||
}
|
||||
td.calminitoday {
|
||||
background-color: @brand-warning;
|
||||
> .il_calmini_monthday > a {
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
td.calminiprev > .il_calmini_monthday > a,
|
||||
td.calmininext > .il_calmini_monthday > a {
|
||||
color: @il-text-color;
|
||||
display:none;
|
||||
}
|
||||
a {
|
||||
display: block;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
a.callink:link, a.callink:visited {
|
||||
color: inherit;
|
||||
cursor: pointer;
|
||||
}
|
||||
a.callink:hover {
|
||||
}
|
||||
.il_calevent > .btn.btn-link {
|
||||
color:inherit;
|
||||
vertical-align: inherit;
|
||||
}
|
||||
.cal_modal_infoscreen .il_InfoScreenPropertyValue .btn-link {
|
||||
text-align:left;
|
||||
vertical-align: top;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
//** Moved from Services/Calendar/templates/calendar.css
|
||||
table.calstd {
|
||||
margin-top: @padding-large-vertical;
|
||||
color: @il-text-color;
|
||||
width:100%;
|
||||
border: none;
|
||||
font-size: 100%;
|
||||
}
|
||||
|
||||
.calheader {
|
||||
color: @il-text-color;
|
||||
font-weight: normal;
|
||||
background-color: @il-main-dark-bg;
|
||||
}
|
||||
|
||||
|
||||
th.calstd {
|
||||
text-align: center;
|
||||
background-color: @il-main-dark-bg;
|
||||
font-weight: normal;
|
||||
border-spacing:0px;
|
||||
border-collapse:collapse;
|
||||
border-width:1px;
|
||||
border-style:solid;
|
||||
border-color:@table-border-color;
|
||||
}
|
||||
|
||||
.calheadertime {
|
||||
background-color: @il-main-dark-bg;
|
||||
border-spacing:0px;
|
||||
border-collapse:collapse;
|
||||
border-width:1px;
|
||||
border-style:solid;
|
||||
border-color:@table-border-color;
|
||||
line-break: auto;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
td.calheadertime {
|
||||
width: 6em;
|
||||
text-align: center;
|
||||
background-color: @il-content-bg;
|
||||
font-size: 90%;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
tr.calstdtime:first-of-type td{
|
||||
background-color: black;
|
||||
}
|
||||
.calstdtime td {
|
||||
border-spacing: 0px;
|
||||
border-right-width: 1px;
|
||||
border-right-style: solid;
|
||||
border-right-color: @table-border-color;
|
||||
}
|
||||
|
||||
td.calempty, th.calempty{
|
||||
background-color:white;
|
||||
}
|
||||
|
||||
td.calempty_border {
|
||||
background-color:white;
|
||||
border-spacing:0px;
|
||||
border-bottom-width:1px;
|
||||
border-bottom-style:solid;
|
||||
border-bottom-color:@table-border-color;
|
||||
}
|
||||
|
||||
tr.calstd{
|
||||
/*background-color: inherit;*/
|
||||
background-color:white;
|
||||
height: 6em;
|
||||
}
|
||||
|
||||
table.il-cal-day tr.calstd + tr.calstdtime td.calempty,
|
||||
table.il-cal-week tr.calstd + tr.calstdtime td.calempty{
|
||||
background-color: @il-main-bg;
|
||||
}
|
||||
|
||||
table.il-cal-day tr.calstd , table.il-cal-week tr.calstd {
|
||||
border-collapse:collapse;
|
||||
border-color:@table-border-color;
|
||||
|
||||
border-bottom-width:2px;
|
||||
border-bottom-style:solid;
|
||||
|
||||
border-top-width:2px;
|
||||
border-top-style:solid;
|
||||
}
|
||||
|
||||
table.il-cal-week {
|
||||
table-layout: fixed;
|
||||
width: 100%;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
table.il-cal-week td.calevent {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
tr.calstdtime {
|
||||
height: 1.2em;
|
||||
background-color: inherit;
|
||||
border-right-width:1px;
|
||||
border-right-style:solid;
|
||||
border-right-color:@table-border-color;
|
||||
}
|
||||
|
||||
|
||||
td.calstd {
|
||||
vertical-align: top;
|
||||
background-color: @il-main-bg;
|
||||
border-spacing:0px;
|
||||
border-collapse:collapse;
|
||||
border-width:1px;
|
||||
border-style:solid;
|
||||
border-color:@table-border-color;
|
||||
padding: 2px 0px;
|
||||
}
|
||||
|
||||
td.caltoday {
|
||||
vertical-align: top;
|
||||
background-color:#FFE79C;
|
||||
border-spacing:0px;
|
||||
border-collapse:collapse;
|
||||
border-width:1px;
|
||||
border-style:solid;
|
||||
border-color:@table-border-color;
|
||||
}
|
||||
|
||||
|
||||
td.calnow {
|
||||
vertical-align: top;
|
||||
background-color:#FFF0C4;
|
||||
border-spacing:0px;
|
||||
border-collapse:collapse;
|
||||
border-width:1px;
|
||||
border-style:solid;
|
||||
border-color:@table-border-color;
|
||||
}
|
||||
|
||||
td.calnext {
|
||||
vertical-align: top;
|
||||
background-color: @il-main-dark-bg;
|
||||
border-spacing:0px;
|
||||
border-collapse:collapse;
|
||||
border-width:1px;
|
||||
border-style:solid;
|
||||
border-color:@table-border-color;
|
||||
}
|
||||
|
||||
td.calprev {
|
||||
vertical-align: top;
|
||||
background-color: @il-main-dark-bg;
|
||||
border-spacing:0px;
|
||||
border-collapse:collapse;
|
||||
border-width:1px;
|
||||
border-style:solid;
|
||||
border-color:@table-border-color;
|
||||
}
|
||||
|
||||
p.il_calevent {
|
||||
color:white;
|
||||
margin: 2px 0 0 0;
|
||||
padding: 2px;
|
||||
border-spacing: 0px;
|
||||
font-size: 90%;
|
||||
|
||||
.btn-link{
|
||||
margin:0 auto;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
td.calevent {
|
||||
//color:white;
|
||||
vertical-align: top;
|
||||
/*padding: 3px;*/
|
||||
border-spacing:0px;
|
||||
border-collapse:collapse;
|
||||
border-width:1px;
|
||||
border-style: solid;
|
||||
border-color: @table-border-color;
|
||||
font-size:90%;
|
||||
/*background-color:white;*/
|
||||
}
|
||||
|
||||
div.calevent {
|
||||
font-size:90%;
|
||||
padding: 3px;
|
||||
margin: 3px;
|
||||
}
|
||||
|
||||
div.calfullcontent {
|
||||
padding:4px;
|
||||
height:100%;
|
||||
}
|
||||
|
||||
p.il_cal_monthday {
|
||||
padding: 2px;
|
||||
margin: 0px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
p.il_cal_navigation {
|
||||
padding: 0px 3px 0px 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
|
||||
table.calmini
|
||||
{
|
||||
width:100%;
|
||||
|
||||
}
|
||||
|
||||
.calminiheader {
|
||||
color:@il-text-color;
|
||||
background-color: @il-main-dark-bg;
|
||||
}
|
||||
|
||||
th.calmini {
|
||||
text-align: center;
|
||||
font-size:90%;
|
||||
font-weight:normal;
|
||||
background-color: @il-main-bg;
|
||||
}
|
||||
|
||||
tr.calmini {
|
||||
}
|
||||
|
||||
a.calminiapp {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
p.il_calmini_monthday, div.il_calmini_monthday {
|
||||
margin: 1px;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
td.calministd {
|
||||
vertical-align: top;
|
||||
border-collapse:collapse;
|
||||
background-color:@il-main-bg;
|
||||
border-spacing:0px;
|
||||
border-width:1px;
|
||||
border-style:solid;
|
||||
border-color:@table-border-color;
|
||||
font-size:90%;
|
||||
text-align:center;
|
||||
vertical-align:middle;
|
||||
}
|
||||
|
||||
td.calminitoday {
|
||||
vertical-align: top;
|
||||
background-color:#FFE79C;
|
||||
border-width:1px;
|
||||
border-style:solid;
|
||||
border-color:@table-border-color;
|
||||
font-size:90%;
|
||||
text-align:center;
|
||||
vertical-align:middle;
|
||||
}
|
||||
|
||||
td.calmininow {
|
||||
vertical-align: top;
|
||||
background-color:#FFF0C4;
|
||||
border-width:1px;
|
||||
border-style:solid;
|
||||
border-color:@table-border-color;
|
||||
font-size:90%;
|
||||
text-align:center;
|
||||
vertical-align:middle;
|
||||
}
|
||||
|
||||
td.calmininext {
|
||||
vertical-align: top;
|
||||
background-color: @il-main-dark-bg;
|
||||
border-width:1px;
|
||||
border-style:solid;
|
||||
border-color:@table-border-color;
|
||||
font-size:90%;
|
||||
text-align:center;
|
||||
vertical-align:middle;
|
||||
}
|
||||
|
||||
td.calminiprev {
|
||||
vertical-align: top;
|
||||
background-color: @il-main-dark-bg;
|
||||
border-width:1px;
|
||||
border-style:solid;
|
||||
border-color:@table-border-color;
|
||||
font-size:90%;
|
||||
text-align:center;
|
||||
vertical-align:middle;
|
||||
}
|
||||
|
||||
td.calminiweek, th.calminiweek {
|
||||
vertical-align: top;
|
||||
background-color: @il-main-bg;
|
||||
font-size:60%;
|
||||
text-align:center;
|
||||
vertical-align:middle;
|
||||
}
|
||||
|
||||
span.calminiinactive {
|
||||
color: #CCCCCC;
|
||||
}
|
||||
.calnewapplink {
|
||||
float: right;
|
||||
visibility:hidden;
|
||||
}
|
||||
|
||||
span.ilIcalIcon .btn {
|
||||
text-align: initial;
|
||||
margin-top: @il-padding-large-vertical;
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
/* Services/Captcha */
|
||||
|
||||
div.iosCaptcha {
|
||||
}
|
||||
|
||||
div.iosCaptchaImageContainer {
|
||||
}
|
||||
|
||||
div.iosCaptchaInfoContainer {
|
||||
margin: 10px 0 0 0;
|
||||
}
|
||||
|
||||
div.iosCaptchaInputCommandContainer {
|
||||
margin: 10px 0 0 0;
|
||||
}
|
||||
|
||||
div.iosCaptchaInputCommandContainer .reload {
|
||||
width: 19px;
|
||||
height: 19px !important;
|
||||
font-size: 100%;
|
||||
vertical-align: top;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
div.iosCaptchaInputCommandContainer .reload img {
|
||||
width: 19px;
|
||||
height: 19px;
|
||||
margin: 0;
|
||||
padding: 3;
|
||||
}
|
||||
|
||||
div.iosCaptchaInputCommandContainer .audio {
|
||||
width: 19px;
|
||||
height: 19px;
|
||||
margin: 0 10px 0 12px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
input.iosCaptchaInput {
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
.il-deck {
|
||||
.il-card {
|
||||
.caption {
|
||||
div.icon.small {
|
||||
vertical-align: middle
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
/* Services/Chart */
|
||||
|
||||
td.legendColorBox, td.legendLabel {
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
div.ilChartWrapper {
|
||||
max-width: 100%;
|
||||
}
|
||||
@@ -0,0 +1,262 @@
|
||||
/* Services/Container */
|
||||
div.il_Preconditions {
|
||||
padding: 10px 0 0;
|
||||
}
|
||||
|
||||
div.il_PreconditionsTitel {
|
||||
margin-top: 3px;
|
||||
text-align: left;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
[dir="rtl"] div.il_PreconditionsTitel {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
div.ilPreconditionItem {
|
||||
margin: 0 -10px;
|
||||
}
|
||||
|
||||
/* Repository */
|
||||
div.ilContainerListItemOuter {
|
||||
padding: @panel-body-padding @padding-large-horizontal;
|
||||
zoom: 1;
|
||||
}
|
||||
[dir="rtl"] div.ilContainerListItemOuter {
|
||||
display: table;
|
||||
}
|
||||
div.tblfooter {
|
||||
&.ilContainerListFooter {
|
||||
font-size: 100%;
|
||||
padding: 3px 0 0 10px;
|
||||
text-align: left;
|
||||
> input {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
> label {
|
||||
margin: 0;
|
||||
padding: 0 0 0 8px;
|
||||
vertical-align: top;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
input[name^="position[blocks]"] {
|
||||
margin: 0 0 0 -2px;
|
||||
}
|
||||
|
||||
|
||||
[dir="rtl"] .ilContainerListFooter {
|
||||
padding-left: 0;
|
||||
padding-right: 15px;
|
||||
}
|
||||
|
||||
div.ilListItemSection {
|
||||
clear:both;
|
||||
max-width: calc(~"100% - 40px");
|
||||
}
|
||||
|
||||
div.ilContainerListItemOuterHighlight {
|
||||
background-color: @il-highlight-bg;
|
||||
zoom: 1;
|
||||
}
|
||||
|
||||
|
||||
.ilCLI {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
div.ilContainerListItemCB {
|
||||
/*float: left;
|
||||
width: 25px;*/
|
||||
display: table-cell;
|
||||
vertical-align: top;
|
||||
padding-right: 10px;
|
||||
|
||||
img{
|
||||
width: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
[dir="rtl"] div.ilContainerListItemCB {
|
||||
/* float: right; */
|
||||
}
|
||||
|
||||
div.ilContainerListItemIcon {
|
||||
/* margin-top: -3px;
|
||||
float: left;
|
||||
position: absolute; */
|
||||
display: table-cell;
|
||||
vertical-align: top;
|
||||
}
|
||||
div.ilContainerListItemIcon a {
|
||||
display: block;
|
||||
margin-top: -3px;
|
||||
}
|
||||
|
||||
[dir="rtl"] div.ilContainerListItemIcon {
|
||||
float: right;
|
||||
}
|
||||
|
||||
div.ilContainerListItemIconCB {
|
||||
margin-left: 25px;
|
||||
}
|
||||
|
||||
[dir="rtl"] div.ilContainerListItemIconCB {
|
||||
margin-left: 0;
|
||||
margin-right: 25px;
|
||||
}
|
||||
|
||||
div[class^="il_editarea"] .ilContainerListItemOuter img,
|
||||
img.ilListItemIcon {
|
||||
width: 35px;
|
||||
height: 35px;
|
||||
max-width: none;
|
||||
}
|
||||
|
||||
div.ilContainerListItemContent {
|
||||
/* margin-left: 35px; */
|
||||
display: table-cell;
|
||||
vertical-align: top;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
[dir="rtl"] div.ilContainerListItemContent {
|
||||
/* margin-left: 0;
|
||||
margin-right: 35px; */
|
||||
}
|
||||
|
||||
/* If checkbox is activated, add spacing */
|
||||
div.ilContainerListItemContentCB {
|
||||
/* margin-left: 60px; */
|
||||
}
|
||||
|
||||
[dir="rtl"] div.ilContainerListItemContentCB {
|
||||
/* margin-left: 0;
|
||||
margin-right: 60px; */
|
||||
}
|
||||
|
||||
div.il_ContainerListItem {
|
||||
margin: 2px 0;
|
||||
padding-left: 8px;
|
||||
width:100%;
|
||||
}
|
||||
|
||||
[dir="rtl"] div.il_ContainerListItem {
|
||||
padding-left: 0;
|
||||
padding-right: 8px;
|
||||
}
|
||||
|
||||
.ilContainerBlockHeader {
|
||||
background-color: @il-main-dark-bg;
|
||||
padding: @panel-heading-padding;
|
||||
font-weight: 400;
|
||||
text-align: left;
|
||||
vertical-align: middle;
|
||||
h3{
|
||||
margin: 0;
|
||||
color: @panel-heading-color;
|
||||
}
|
||||
//See headings overlays input field in sorting view 32364
|
||||
.form-control {
|
||||
width: auto;
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
|
||||
.ilContainerBlockHeaderExpanded, .ilContainerBlockHeaderCollapsed {
|
||||
background-repeat: no-repeat;
|
||||
background-position: 15px 10px;
|
||||
background-size: 20px 20px;
|
||||
padding-left: 45px;
|
||||
/* padding-top: 6px; */
|
||||
background-color: @il-main-dark-bg;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
||||
.ilContainerBlockHeaderExpanded {
|
||||
background-image: url("@{il-background-images-path}tree_exp.svg");
|
||||
}
|
||||
|
||||
.ilContainerBlockHeaderCollapsed {
|
||||
background-image: url("@{il-background-images-path}tree_col.svg");
|
||||
}
|
||||
|
||||
[dir="rtl"] .ilContainerBlockHeader {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.ilContainerBlock {
|
||||
width: 100%;
|
||||
clear: both;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
div#cont_paste_explorer_tree ul.il_Explorer {
|
||||
margin: 0 0 0 24px;
|
||||
}
|
||||
|
||||
[dir="rtl"] div#cont_paste_explorer_tree ul.il_Explorer {
|
||||
margin: 0 24px 0 0;
|
||||
}
|
||||
|
||||
#ilContRepIntro {
|
||||
margin: 20px 0 50px 0;
|
||||
clear:both;
|
||||
}
|
||||
|
||||
div#ilContRepIntro img {
|
||||
float: right;
|
||||
width: 150px;
|
||||
height: 150px;
|
||||
}
|
||||
|
||||
[dir="rtl"] div#ilContRepIntro img {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.ilContObjectiveObjectListItem {
|
||||
background-color: @il-main-dark-bg;
|
||||
}
|
||||
|
||||
.ilContObjectiveIntro {
|
||||
background-color: @il-main-dark-bg;
|
||||
padding: 1px 15px;
|
||||
}
|
||||
|
||||
.ilContObjectivesViewTestItem {
|
||||
background-color: @il-main-dark-bg;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
|
||||
.ilContainerTileRows {
|
||||
margin: 0px -15px 0 -15px;
|
||||
padding: @padding-large-vertical @padding-large-horizontal;
|
||||
background-color: @il-main-bg;
|
||||
|
||||
>.il-deck{
|
||||
margin: 0 5px;
|
||||
}
|
||||
}
|
||||
|
||||
.ilContainerTileRows .card-no-highlight {
|
||||
height: 0px;
|
||||
}
|
||||
|
||||
.ilContainerTileRows .il-chart-progressmeter-container {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.ilContainerTileRows .il-card h5 button.btn {
|
||||
font-size: inherit;
|
||||
}
|
||||
|
||||
.ilContainerShowMore {
|
||||
padding: 15px 10px;
|
||||
background-color: @il-main-dark-bg;
|
||||
text-align: center;
|
||||
margin: 0 -15px;
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
/* Services/FileUpload */
|
||||
|
||||
.ilFileUploadEntryProgressPercent {
|
||||
font-size: 75%;
|
||||
}
|
||||
|
||||
.ilFileUploadEntryOptions {
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
.ilFileUploadEntryOptions label.control-label {
|
||||
padding-top: 3px;
|
||||
}
|
||||
@@ -0,0 +1,340 @@
|
||||
/* Services/Form */
|
||||
|
||||
/* forms */
|
||||
|
||||
label, input[type=checkbox], input[type=radio], select {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.form-control {
|
||||
font-size: @il-standard-form-font-size;
|
||||
color: @il-text-color;
|
||||
border: 1px solid @il-main-border-dark-color;
|
||||
}
|
||||
|
||||
.form-control[disabled],
|
||||
.form-control[readonly],
|
||||
fieldset[disabled] .form-control {
|
||||
background-color: @il-main-dark-bg;
|
||||
}
|
||||
|
||||
.form-horizontal {
|
||||
margin-bottom: 20px;
|
||||
background: @il-standard-form-bg;
|
||||
}
|
||||
|
||||
form.form-inline {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.form-horizontal .form-group {
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
.form-control, .form-control:focus {
|
||||
.box-shadow(none);
|
||||
}
|
||||
|
||||
.form-control:focus-visible {
|
||||
.box-shadow(none);
|
||||
outline: @il-focus-outline-inner;
|
||||
}
|
||||
|
||||
input[type="file"]:focus:focus-visible::after,
|
||||
input[type="radio"]:focus:focus-visible::after,
|
||||
input[type="checkbox"]:focus:focus-visible::after {
|
||||
content: none;
|
||||
}
|
||||
|
||||
input.btn.btn-default:focus-visible {
|
||||
outline: @il-focus-outline-inner;
|
||||
outline-offset: @il-focus-outline-inner-width;
|
||||
}
|
||||
|
||||
.btn-file:focus-within, .btn-file:hover:focus-within {
|
||||
z-index: 3;
|
||||
outline: @il-focus-outline-inner;
|
||||
outline-offset: @il-focus-outline-inner-width;
|
||||
}
|
||||
|
||||
textarea.form-control {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
select.form-control {
|
||||
width: auto;
|
||||
max-width:100%;
|
||||
}
|
||||
|
||||
.form-horizontal label {
|
||||
color: @il-standard-form-label-color;
|
||||
font-size: 100%;
|
||||
}
|
||||
|
||||
.form-control-static {
|
||||
//needed until bootstrap set min-heigth and padding...
|
||||
//no effect without it!
|
||||
display: block;
|
||||
}
|
||||
|
||||
.form-horizontal {
|
||||
.control-label {
|
||||
//padding-top: 0;
|
||||
//line-height: 24px;
|
||||
padding-bottom: (@padding-base-vertical + 1);
|
||||
min-height: (@line-height-computed + @font-size-base);
|
||||
@media only screen and (max-width: @grid-float-breakpoint-max) {
|
||||
min-height: auto;
|
||||
padding-bottom: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
&.col-sm-3.il_textarea {
|
||||
text-align: left;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.radio,
|
||||
.checkbox,
|
||||
.radio-inline,
|
||||
.checkbox-inline {
|
||||
padding-top: 0;
|
||||
line-height: normal;
|
||||
}
|
||||
div.radio label.radio-inline {
|
||||
line-height: @input-height-base;
|
||||
}
|
||||
}
|
||||
|
||||
.radio input[type="radio"],
|
||||
.radio-inline input[type="radio"],
|
||||
.checkbox input[type="checkbox"],
|
||||
.checkbox-inline input[type="checkbox"] {
|
||||
position: static;
|
||||
display: inline-block;
|
||||
margin-left: -20px;
|
||||
margin-top: 7px;
|
||||
min-width: 13px;
|
||||
@media only screen and (max-width: @grid-float-breakpoint-max) {
|
||||
min-width: 16px;
|
||||
}
|
||||
}
|
||||
.radio input[type="radio"],
|
||||
.radio-inline input[type="radio"] {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
[dir="rtl"] .form-horizontal .control-label {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
label {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
td.form-inline > div.form-group {
|
||||
display: block;
|
||||
padding: 4px 0;
|
||||
}
|
||||
|
||||
input[type="radio"]:focus:focus-visible,
|
||||
input[type="checkbox"]:focus:focus-visible {
|
||||
outline: @il-focus-outline-inner;
|
||||
outline-offset: @il-focus-outline-outer-width;
|
||||
}
|
||||
|
||||
input[type="file"].form-control {
|
||||
border: none;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.ilFormHeader {
|
||||
padding: 15px 0 5px;
|
||||
.ilFormCmds {
|
||||
margin: 0;
|
||||
float: right;
|
||||
}
|
||||
h3 {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
[dir="rtl"] .ilFormHeader .ilFormCmds {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.ilFormHeader, .ilFormFooter {
|
||||
color: @il-standard-form-header-color;
|
||||
background-color: @il-standard-form-header-bg;
|
||||
}
|
||||
|
||||
.ilSubForm {
|
||||
background-color: @il-standard-form-dependant-group-bg;
|
||||
padding: 3px 0;
|
||||
margin-bottom: 10px;
|
||||
.form-group {
|
||||
margin: 0;
|
||||
@media (max-width: @grid-float-breakpoint-max) {
|
||||
margin: @padding-large-vertical 0;
|
||||
}
|
||||
}
|
||||
.col-sm-9.il_textarea {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.ilFormFooter {
|
||||
padding: 3px 0;
|
||||
}
|
||||
|
||||
.ilFormFooter .ilFormCmds {
|
||||
text-align: right;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
[dir="rtl"] .ilFormFooter .ilFormCmds {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/* jQuery ui autocomplete menu */
|
||||
input.ilHFormHighlighted, .ui-state-focus {
|
||||
background-color: #ff9;
|
||||
}
|
||||
|
||||
div.ilFormExternalSetting {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
div.ilFormExternalSetting ul {
|
||||
margin: 2px 0;
|
||||
padding-left: 25px;
|
||||
}
|
||||
|
||||
[dir="rtl"] div.ilFormExternalSetting ul {
|
||||
padding-left: 0;
|
||||
padding-right: 25px;
|
||||
}
|
||||
|
||||
div.ilFormExternalSetting span {
|
||||
color: @il-warning-color;
|
||||
/* font-style: italic; */
|
||||
}
|
||||
|
||||
div[id^="ilFormField"] {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
/* Hierarchy Form */
|
||||
div.ilHFormHeader, div.ilHFormFooter {
|
||||
color: @il-standard-form-header-color;
|
||||
background-color: @il-standard-form-header-bg;
|
||||
padding: 4px 0 4px 22px;
|
||||
}
|
||||
|
||||
[dir="rtl"] div.ilHFormHeader, [dir="rtl"] div.ilHFormFooter {
|
||||
padding: 4px 22px 4px 0;
|
||||
}
|
||||
|
||||
div.ilHFormContent {
|
||||
padding: 20px 10px 20px 0px;
|
||||
table {
|
||||
width:100%;
|
||||
}
|
||||
}
|
||||
|
||||
div.ilHFormItem {
|
||||
margin-bottom: 5px;
|
||||
display: table-row;
|
||||
}
|
||||
|
||||
div.ilHFormHeader .ilFormCmds, div.ilHFormFooter .ilFormCmds {
|
||||
float: right;
|
||||
}
|
||||
|
||||
[dir="rtl"] div.ilHFormHeader .ilFormCmds, [dir="rtl"] div.ilHFormFooter .ilFormCmds {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.ilHFormExpIcon, .ilHFormCheckbox, .ilHFormIcon, .ilHFormInput, .ilHFormItemCmd {
|
||||
}
|
||||
|
||||
.ilHFormExpIcon, .ilHFormCheckbox, .ilHFormIcon {
|
||||
min-width: 20px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.ilHFormItemCmd {
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
.ilHFormChilds {
|
||||
|
||||
}
|
||||
|
||||
.ilHFormExpIcon img, .ilHFormIcon img {
|
||||
width: 19px;
|
||||
height: 19px;
|
||||
}
|
||||
|
||||
.ilHFormInput, .ilHFormInput input.form-control {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.ilHFormDropArea {
|
||||
margin: 6px 0;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
/* deprecated */
|
||||
div.ilFormInfo {
|
||||
}
|
||||
|
||||
|
||||
/* experimental: bootstrap'ed file upload */
|
||||
.btn-file {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
.btn-file input[type=file] {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
min-width: 100%;
|
||||
min-height: 100%;
|
||||
font-size: 100px;
|
||||
text-align: right;
|
||||
filter: alpha(opacity=0);
|
||||
opacity: 0;
|
||||
outline: none;
|
||||
background: white;
|
||||
cursor: inherit;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.ilFormInnerCol {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.ilFormInnerCol .form-group {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
input:invalid {
|
||||
background-color: #ffebeb;
|
||||
border-color: @il-danger-color;
|
||||
}
|
||||
|
||||
.bootstrap-datetimepicker-widget {
|
||||
z-index: 2000;
|
||||
}
|
||||
|
||||
/* provisory fix for #0021322 */
|
||||
div[id$="color-picker-menu"] {
|
||||
z-index: 3;
|
||||
}
|
||||
|
||||
/* This is a memento that we should get rid of the legacy UI */
|
||||
.wzdrow input[type=file]:focus-visible {
|
||||
outline: @il-focus-outline-inner;
|
||||
outline-offset: 0;
|
||||
}
|
||||