Compare commits

..

3 Commits

Author SHA1 Message Date
Emmanuele Sassi 9233d3f6f2 - apertura file pdf come risorsa di progetto 2023-02-17 13:05:24 +01:00
Emmanuele Sassi 58febf7d4b - primi test implementazione manuale come risorsa e apertura 2023-01-30 16:37:17 +01:00
Emmanuele Sassi 725cb6e3cc - Aperta finestra con webviewer da path completa 2023-01-27 18:18:37 +01:00
1128 changed files with 112994 additions and 1182 deletions
-9
View File
@@ -107,7 +107,6 @@
Public Const MAC_RIBSLINK = "RibsLink" Public Const MAC_RIBSLINK = "RibsLink"
Public Const MAC_RIBSINVERTORDER = "RibsInvertOrder" Public Const MAC_RIBSINVERTORDER = "RibsInvertOrder"
Public Const MAC_RIBSINVERTDIRECTION = "RibsInvertDirection" Public Const MAC_RIBSINVERTDIRECTION = "RibsInvertDirection"
Public Const MAC_RIBSINVERTSTRANDORDER = "RibsInvertStrandOrder"
Public Const MAC_RIBSLEADININVERT = "RibsLeadInInvert" Public Const MAC_RIBSLEADININVERT = "RibsLeadInInvert"
Public Const MAC_RIBSLEADINLEN = "RibsLeadInLen" Public Const MAC_RIBSLEADINLEN = "RibsLeadInLen"
Public Const MAC_RIBSLEADOUTINVERT = "RibsLeadOutInvert" Public Const MAC_RIBSLEADOUTINVERT = "RibsLeadOutInvert"
@@ -154,19 +153,11 @@
' materiale in progetto ' materiale in progetto
Public Const KEY_MATERIAL_GUID = "MaterialGuid" Public Const KEY_MATERIAL_GUID = "MaterialGuid"
Public Const KEY_MATERIAL_NAME = "MaterialName" Public Const KEY_MATERIAL_NAME = "MaterialName"
' nome file cn in progetto ' nome file cn in progetto
Public Const KEY_ISOFILE_PATH = "IsoFilePath" Public Const KEY_ISOFILE_PATH = "IsoFilePath"
' info di spostamento pezzo per 45 gradi
Public Const KEY_MOVEDPART = "MovedPart"
Public Const KEY_MOVEDPART2 = "MovedPart2"
Public Const FILE_PATH = "FilePath" Public Const FILE_PATH = "FilePath"
Public Const PART_NAME = "PartName" Public Const PART_NAME = "PartName"
Public Const ENTITY_NAME = "EntityName" Public Const ENTITY_NAME = "EntityName"
' stringa che identifica il materiale come originale del costruttore
Public Const ORIG_MATERIAL As String = "***"
End Module End Module
+9 -37
View File
@@ -163,21 +163,6 @@ Public Class CurrMachining
End Select End Select
End Sub End Sub
Friend Overrides Sub Save()
If bIsModified Then
' salvo tutti i parametri su orig
SaveParams()
' resetto stato di modificata
UpdateIsModified()
End If
End Sub
Protected Overrides Sub SaveParams()
For Each Cathegory In m_CathegoryList
Cathegory.SaveParams()
Next
End Sub
Friend Sub WriteCurrParamInPart(nPartId As Integer) Friend Sub WriteCurrParamInPart(nPartId As Integer)
EgtSetInfo(nPartId, MAC_GUID, m_sCurrGUID.ToString()) EgtSetInfo(nPartId, MAC_GUID, m_sCurrGUID.ToString())
For Each Cathegory As CurrMachiningCathegory In m_CathegoryList For Each Cathegory As CurrMachiningCathegory In m_CathegoryList
@@ -241,7 +226,6 @@ Public Class CurrMachiningCathegory
New CurrCheckMachiningParam(MachiningParam.Params.RIBSLINK, nPartId, nIndex, bForceFromDb), New CurrCheckMachiningParam(MachiningParam.Params.RIBSLINK, nPartId, nIndex, bForceFromDb),
New CurrCheckMachiningParam(MachiningParam.Params.RIBSINVERTORDER, nPartId, nIndex, bForceFromDb), New CurrCheckMachiningParam(MachiningParam.Params.RIBSINVERTORDER, nPartId, nIndex, bForceFromDb),
New CurrCheckMachiningParam(MachiningParam.Params.RIBSINVERTDIRECTION, nPartId, nIndex, bForceFromDb), New CurrCheckMachiningParam(MachiningParam.Params.RIBSINVERTDIRECTION, nPartId, nIndex, bForceFromDb),
New CurrCheckMachiningParam(MachiningParam.Params.RIBSINVERTSTRANDORDER, nPartId, nIndex, bForceFromDb),
New CurrCheckMachiningParam(MachiningParam.Params.RIBSLEADININVERT, nPartId, nIndex, bForceFromDb), New CurrCheckMachiningParam(MachiningParam.Params.RIBSLEADININVERT, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADINLEN, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADINLEN, nPartId, nIndex, bForceFromDb),
New CurrCheckMachiningParam(MachiningParam.Params.RIBSLEADOUTINVERT, nPartId, nIndex, bForceFromDb), New CurrCheckMachiningParam(MachiningParam.Params.RIBSLEADOUTINVERT, nPartId, nIndex, bForceFromDb),
@@ -269,6 +253,12 @@ Public Class CurrMachiningCathegory
End Select End Select
End Sub End Sub
Friend Sub SaveCurrParams()
For Each Param In m_MachiningParamList
Param.SaveParam()
Next
End Sub
Friend Sub ResetCurrParams() Friend Sub ResetCurrParams()
For Each Param In m_MachiningParamList For Each Param In m_MachiningParamList
Param.ResetParam() Param.ResetParam()
@@ -916,8 +906,6 @@ Public Class CurrCheckMachiningParam
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSINVERTORDER, m_bValue) bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSINVERTORDER, m_bValue)
Case Params.RIBSINVERTDIRECTION Case Params.RIBSINVERTDIRECTION
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSINVERTDIRECTION, m_bValue) bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSINVERTDIRECTION, m_bValue)
Case Params.RIBSINVERTSTRANDORDER
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSINVERTSTRANDORDER, m_bValue)
Case Params.RIBSLEADININVERT Case Params.RIBSLEADININVERT
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADININVERT, m_bValue) bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADININVERT, m_bValue)
Case Params.RIBSLEADOUTINVERT Case Params.RIBSLEADOUTINVERT
@@ -929,7 +917,7 @@ Public Class CurrCheckMachiningParam
Select Case Type Select Case Type
Case Params.SPIRALVASE Case Params.SPIRALVASE
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type) m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
Case Params.RIBSLINK, Params.RIBSINVERTORDER, Params.RIBSINVERTDIRECTION, Params.RIBSINVERTSTRANDORDER, Params.RIBSLEADININVERT, Params.RIBSLEADOUTINVERT Case Params.RIBSLINK, Params.RIBSINVERTORDER, Params.RIBSINVERTDIRECTION, Params.RIBSLEADININVERT, Params.RIBSLEADOUTINVERT
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.RIBS).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type) m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.RIBS).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
End Select End Select
If bForceFromDb OrElse Not bReadFromPart Then If bForceFromDb OrElse Not bReadFromPart Then
@@ -949,8 +937,6 @@ Public Class CurrCheckMachiningParam
EgtSetInfo(nPartId, MAC_RIBSINVERTORDER, If(m_bValue, 1, 0)) EgtSetInfo(nPartId, MAC_RIBSINVERTORDER, If(m_bValue, 1, 0))
Case Params.RIBSINVERTDIRECTION Case Params.RIBSINVERTDIRECTION
EgtSetInfo(nPartId, MAC_RIBSINVERTDIRECTION, If(m_bValue, 1, 0)) EgtSetInfo(nPartId, MAC_RIBSINVERTDIRECTION, If(m_bValue, 1, 0))
Case Params.RIBSINVERTSTRANDORDER
EgtSetInfo(nPartId, MAC_RIBSINVERTSTRANDORDER, If(m_bValue, 1, 0))
Case Params.RIBSLEADININVERT Case Params.RIBSLEADININVERT
EgtSetInfo(nPartId, MAC_RIBSLEADININVERT, If(m_bValue, 1, 0)) EgtSetInfo(nPartId, MAC_RIBSLEADININVERT, If(m_bValue, 1, 0))
Case Params.RIBSLEADOUTINVERT Case Params.RIBSLEADOUTINVERT
@@ -1016,22 +1002,7 @@ Public Class CurrOrderedMachiningParam
Dim bReadFromPart As Boolean = False Dim bReadFromPart As Boolean = False
Select Case Type Select Case Type
Case Params.PRINT_ORDER Case Params.PRINT_ORDER
m_StandardValueOrderList = New List(Of Integer)({Machining.MPAR_PRINT_ORDER.SHELL, m_ValueList = New ObservableCollection(Of IdNameStruct)
Machining.MPAR_PRINT_ORDER.EXTRA_SHELL,
Machining.MPAR_PRINT_ORDER.INFILL,
Machining.MPAR_PRINT_ORDER.AUX_SOLID,
Machining.MPAR_PRINT_ORDER.RIB_UNBOUNDED,
Machining.MPAR_PRINT_ORDER.RIB_EXTERNAL,
Machining.MPAR_PRINT_ORDER.RIB_INTERNAL,
Machining.MPAR_PRINT_ORDER.RIB_SUPPORT})
m_ValueList = New ObservableCollection(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_PRINT_ORDER.SHELL, "Shell"),
New IdNameStruct(Machining.MPAR_PRINT_ORDER.EXTRA_SHELL, "Extra Shells"),
New IdNameStruct(Machining.MPAR_PRINT_ORDER.INFILL, "Infills"),
New IdNameStruct(Machining.MPAR_PRINT_ORDER.AUX_SOLID, "Filled Solids"),
New IdNameStruct(Machining.MPAR_PRINT_ORDER.RIB_UNBOUNDED, "Unbounded Ribs"),
New IdNameStruct(Machining.MPAR_PRINT_ORDER.RIB_EXTERNAL, "External Ribs"),
New IdNameStruct(Machining.MPAR_PRINT_ORDER.RIB_INTERNAL, "Internal Ribs"),
New IdNameStruct(Machining.MPAR_PRINT_ORDER.RIB_SUPPORT, "Support Ribs")})
Dim sValue As String = "" Dim sValue As String = ""
bReadFromPart = EgtGetInfo(nPartId, MAC_PRINTORDER, sValue) bReadFromPart = EgtGetInfo(nPartId, MAC_PRINTORDER, sValue)
Value = sValue Value = sValue
@@ -1085,6 +1056,7 @@ Public Class CurrOrderedMachiningParam
End Property End Property
Public Sub ResetParamCmd() Public Sub ResetParamCmd()
m_SelValue = Nothing
Value = DbParam.OrigValue Value = DbParam.OrigValue
NotifyPropertyChanged(NameOf(Value)) NotifyPropertyChanged(NameOf(Value))
NotifyPropertyChanged(NameOf(SelValue)) NotifyPropertyChanged(NameOf(SelValue))
@@ -120,39 +120,39 @@
<DataTemplate DataType="{x:Type PrintApp:OrderedMachiningParam}"> <DataTemplate DataType="{x:Type PrintApp:OrderedMachiningParam}">
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="{Binding sName}" <Grid.RowDefinitions>
VerticalAlignment="Center"/> <RowDefinition Height="Auto"/>
<ListBox Grid.Column="1" <RowDefinition Height="Auto"/>
ItemsSource="{Binding ValueList}" </Grid.RowDefinitions>
SelectedItem="{Binding SelValue}"/> <TextBlock Text="{Binding sName}"/>
<StackPanel Grid.Column="2" <StackPanel Grid.Column="1"
Orientation="Vertical" Orientation="Horizontal"
VerticalAlignment="Center" HorizontalAlignment="Right">
Margin="5,0,0,0"> <Button Content="&lt;>"
Command="{Binding ResetOrder_Command}"
Style="{StaticResource ToolBar_SmallButton}"/>
<Button Content="˄" <Button Content="˄"
Command="{Binding MoveUpOrder_Command}" Command="{Binding MoveUpOrder_Command}"
Margin="0"
Style="{StaticResource ToolBar_SmallButton}"/> Style="{StaticResource ToolBar_SmallButton}"/>
<Button Content="˅" <Button Content="˅"
Command="{Binding MoveDownOrder_Command}" Command="{Binding MoveDownOrder_Command}"
Margin="0"
Style="{StaticResource ToolBar_SmallButton}"/>
<Button Content="&lt;>"
Command="{Binding ResetOrder_Command}"
Margin="0"
Style="{StaticResource ToolBar_SmallButton}"/>
<Button Content="R"
Command="{Binding ResetParam_Command}"
IsEnabled="{Binding bIsModifiedFromDb}"
VerticalContentAlignment="Center"
HorizontalContentAlignment="Center"
Margin="0"
Style="{StaticResource ToolBar_SmallButton}"/> 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> </StackPanel>
<ListBox Grid.ColumnSpan="2"
Grid.Row="1"
ItemsSource="{Binding ValueList}"
SelectedItem="{Binding SelValue}"/>
</Grid> </Grid>
</DataTemplate> </DataTemplate>
</ItemsControl.Resources> </ItemsControl.Resources>
@@ -59,23 +59,8 @@ Public Class CurrMachiningPanelVM
End Property End Property
Public Sub Ok() Public Sub Ok()
' verifico se modificata tipologia Ribs
Dim bIsModifiedRibsType As Boolean = False
Dim RibsCathegory As MachiningCathegory = CurrMachining.CathegoryList.FirstOrDefault(Function(x) x.Type = MachiningCathegory.Cathegories.RIBS)
If Not IsNothing(RibsCathegory) Then
Dim RibsTypeParam As MachiningParam = RibsCathegory.MachiningParamList.FirstOrDefault(Function(y) y.Type = MachiningParam.Params.RIBSTYPE)
If Not IsNothing(RibsTypeParam) Then
bIsModifiedRibsType = RibsTypeParam.bIsModified
End If
End If
' scrivo i parametri modificati ' scrivo i parametri modificati
m_CurrMachining.WriteCurrParamInPart(Map.refTopPanelVM.SelPart.nPartId) m_CurrMachining.WriteCurrParamInPart(Map.refTopPanelVM.SelPart.nPartId)
m_CurrMachining.Save()
' se modificata tipologia Ribs, aggiorno posizione riferimento
If bIsModifiedRibsType Then
Map.refReferencePanelVM.UpdateFramePosition()
Map.refDispositionPanelVM.UpdateZPos()
End If
' ripristino modalita' standard ' ripristino modalita' standard
Map.refTopPanelVM.SelPage = Pages.MODIFY Map.refTopPanelVM.SelPage = Pages.MODIFY
End Sub End Sub
@@ -28,6 +28,12 @@
Content="Move" Content="Move"
IsChecked="{Binding bMove_IsChecked}" IsChecked="{Binding bMove_IsChecked}"
Style="{StaticResource ToolBar_TextToggleButton}"/> Style="{StaticResource ToolBar_TextToggleButton}"/>
<!--<Border Background="Red"
Grid.Column="1"
Grid.Row="1"
Grid.RowSpan="5"
Width="50"
VerticalAlignment="Stretch"/>-->
<Border x:Name="PopupBrd" <Border x:Name="PopupBrd"
Grid.Column="1" Grid.Column="1"
@@ -91,12 +97,77 @@
</Grid> </Grid>
</Border> </Border>
<!--<Popup IsOpen="{Binding IsChecked, ElementName=MoveBtn}"
PlacementTarget="{Binding ElementName=MoveBtn}"
Style="{StaticResource LeftPanel_Popup}">
<Border x:Name="PopupBrd" Style="{StaticResource LeftPanelPopup_Border}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid Margin="0,0,0,2.5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="X"
VerticalAlignment="Center"/>
<EgtWPFLib5:EgtTextBox Text="{Binding sXPos, UpdateSourceTrigger=Explicit}"
Grid.Column="1"
Margin="5,0,0,0"
Style="{StaticResource LeftPanel_TextBox}"/>
</Grid>
<Grid Grid.Row="1"
Margin="0,2.5,0,2.5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="Y"
VerticalAlignment="Center"/>
<EgtWPFLib5:EgtTextBox Text="{Binding sYPos, UpdateSourceTrigger=Explicit}"
Grid.Column="1"
Margin="5,0,0,0"
Style="{StaticResource LeftPanel_TextBox}"/>
</Grid>
<Grid Grid.Row="2"
Margin="0,2.5,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="Z"
VerticalAlignment="Center"/>
<EgtWPFLib5:EgtTextBox Text="{Binding sZPos, UpdateSourceTrigger=Explicit}"
Grid.Column="1"
Margin="5,0,0,0"
Style="{StaticResource LeftPanel_TextBox}"/>
</Grid>
<Grid Grid.Row="3"
Margin="0,2.5,0,0">
<Button Content="Drag"
Command="{Binding DragMove_Command}"
Style="{StaticResource LeftPanel_TextButton}"/>
</Grid>
</Grid>
</Border>
</Popup>-->
<ToggleButton x:Name="RotateBtn" <ToggleButton x:Name="RotateBtn"
Grid.Row="4" Grid.Row="4"
Content="Rotate" Content="Rotate"
IsChecked="{Binding bRotate_IsChecked}" IsChecked="{Binding bRotate_IsChecked}"
Style="{StaticResource ToolBar_TextToggleButton}"/> Style="{StaticResource ToolBar_TextToggleButton}"/>
<!--<Border Background="Blue"
Grid.Column="2"
Grid.Row="2"
Grid.RowSpan="5"
Width="50"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"/>-->
<Border Grid.Column="1" <Border Grid.Column="1"
Grid.Row="2" Grid.Row="2"
@@ -138,4 +209,42 @@
</Grid> </Grid>
</Border> </Border>
<!--<Popup IsOpen="{Binding IsChecked, ElementName=RotateBtn}"
Grid.Column="1"
PlacementTarget="{Binding ElementName=RotateBtn}"
Style="{StaticResource LeftPanel_Popup}">
<Border Style="{StaticResource LeftPanelPopup_Border}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<UniformGrid Columns="3">
<RadioButton Content="X"
GroupName="Axes"
IsChecked="{Binding RotAxes[0]}"
Style="{StaticResource ToolBar_ToggleButton}"/>
<RadioButton Content="Y"
GroupName="Axes"
IsChecked="{Binding RotAxes[1]}"
Style="{StaticResource ToolBar_ToggleButton}"/>
<RadioButton Content="Z"
GroupName="Axes"
IsChecked="{Binding RotAxes[2]}"
Style="{StaticResource ToolBar_ToggleButton}"/>
</UniformGrid>
<EgtWPFLib5:EgtTextBox Grid.Row="1"
Text="{Binding sRotAngle, UpdateSourceTrigger=Explicit}"
Margin="0,5,0,0"/>
<Grid Grid.Row="2"
Margin="0,2.5,0,0">
<Button Content="Drag"
Command="{Binding DragRotate_Command}"
Style="{StaticResource LeftPanel_TextButton}"/>
</Grid>
</Grid>
</Border>
</Popup>-->
</Grid> </Grid>
+60 -91
View File
@@ -20,7 +20,25 @@ Public Class DispositionPanelVM
EgtStartPoint(Map.refTopPanelVM.SelPart.nReferenceId, GDB_ID.ROOT, ptReference) EgtStartPoint(Map.refTopPanelVM.SelPart.nReferenceId, GDB_ID.ROOT, ptReference)
Dim dNewXPos As Double = ptReference.x Dim dNewXPos As Double = ptReference.x
StringToLen(value, dNewXPos) StringToLen(value, dNewXPos)
Dim b3Print As BBox3d = GetSolidForReferenceBBox(Map.refTopPanelVM.SelPart) 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 dMin As Double = 0
Dim dMax As Double = CurrentMachine.b3Tab.DimX Dim dMax As Double = CurrentMachine.b3Tab.DimX
If b3Print.Max.x > ptReference.x Then If b3Print.Max.x > ptReference.x Then
@@ -29,18 +47,13 @@ Public Class DispositionPanelVM
If b3Print.Min.x < ptReference.x Then If b3Print.Min.x < ptReference.x Then
dMin += ptReference.x - b3Print.Min.x dMin += ptReference.x - b3Print.Min.x
End If End If
' riduco a spostamento massimo If dNewXPos >= dMin AndAlso dNewXPos <= dMax Then
If dNewXPos < dMin Then EgtMove(Map.refTopPanelVM.SelPart.nPartId, New Point3d(dNewXPos, ptReference.y, ptReference.z) - ptReference, GDB_RT.GLOB)
dNewXPos = dMin Map.refReferencePanelVM.UpdateFramePosition()
ElseIf dNewXPos > dMax Then EgtDraw()
dNewXPos = dMax Else
NotifyPropertyChanged(NameOf(sXPos))
End If End If
EgtMove(Map.refTopPanelVM.SelPart.nPartId, New Point3d(dNewXPos, ptReference.y, ptReference.z) - ptReference, GDB_RT.GLOB)
Map.refReferencePanelVM.UpdateFramePosition()
EgtDraw()
NotifyPropertyChanged(NameOf(sXPos))
' Imposto flag di ricalcolo part-program
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_GENERATE, True)
End Set End Set
End Property End Property
@@ -59,7 +72,25 @@ Public Class DispositionPanelVM
EgtStartPoint(Map.refTopPanelVM.SelPart.nReferenceId, GDB_ID.ROOT, ptReference) EgtStartPoint(Map.refTopPanelVM.SelPart.nReferenceId, GDB_ID.ROOT, ptReference)
Dim dNewYPos As Double = ptReference.y Dim dNewYPos As Double = ptReference.y
StringToLen(value, dNewYPos) StringToLen(value, dNewYPos)
Dim b3Print As BBox3d = GetSolidForReferenceBBox(Map.refTopPanelVM.SelPart) 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 dMin As Double = 0
Dim dMax As Double = CurrentMachine.b3Tab.DimY Dim dMax As Double = CurrentMachine.b3Tab.DimY
If b3Print.Max.y > ptReference.y Then If b3Print.Max.y > ptReference.y Then
@@ -68,18 +99,13 @@ Public Class DispositionPanelVM
If b3Print.Min.y < ptReference.y Then If b3Print.Min.y < ptReference.y Then
dMin += ptReference.y - b3Print.Min.y dMin += ptReference.y - b3Print.Min.y
End If End If
' riduco a spostamento massimo If dNewYPos >= dMin AndAlso dNewYPos <= dMax Then
If dNewYPos < dMin Then EgtMove(Map.refTopPanelVM.SelPart.nPartId, New Point3d(ptReference.x, dNewYPos, ptReference.z) - ptReference, GDB_RT.GLOB)
dNewYPos = dMin Map.refReferencePanelVM.UpdateFramePosition()
ElseIf dNewyPos > dMax Then EgtDraw()
dNewYPos = dMax Else
NotifyPropertyChanged(NameOf(sYPos))
End If End If
EgtMove(Map.refTopPanelVM.SelPart.nPartId, New Point3d(ptReference.x, dNewYPos, ptReference.z) - ptReference, GDB_RT.GLOB)
Map.refReferencePanelVM.UpdateFramePosition()
EgtDraw()
NotifyPropertyChanged(NameOf(sYPos))
' Imposto flag di ricalcolo part-program
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_GENERATE, True)
End Set End Set
End Property End Property
@@ -98,67 +124,16 @@ Public Class DispositionPanelVM
EgtStartPoint(Map.refTopPanelVM.SelPart.nReferenceId, GDB_ID.ROOT, ptReference) EgtStartPoint(Map.refTopPanelVM.SelPart.nReferenceId, GDB_ID.ROOT, ptReference)
Dim dNewZPos As Double = ptReference.z Dim dNewZPos As Double = ptReference.z
StringToLen(value, dNewZPos) StringToLen(value, dNewZPos)
Dim b3Print As BBox3d = GetSolidForReferenceBBox(Map.refTopPanelVM.SelPart) If dNewZPos >= 0 Then
Dim dMin As Double = 0 EgtMove(Map.refTopPanelVM.SelPart.nPartId, New Point3d(ptReference.x, ptReference.y, dNewZPos) - ptReference, GDB_RT.GLOB)
If b3Print.Min.z < ptReference.z Then Map.refReferencePanelVM.UpdateFramePosition()
dMin += ptReference.z - b3Print.Min.z EgtDraw()
Else
NotifyPropertyChanged(NameOf(sZPos))
End If End If
' riduco a spostamento massimo
If dNewZPos < dMin Then
dNewZPos = dMin
End If
EgtMove(Map.refTopPanelVM.SelPart.nPartId, New Point3d(ptReference.x, ptReference.y, dNewZPos) - ptReference, GDB_RT.GLOB)
Map.refReferencePanelVM.UpdateFramePosition()
EgtDraw()
NotifyPropertyChanged(NameOf(sZPos))
' Imposto flag di ricalcolo part-program
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_GENERATE, True)
End Set End Set
End Property End Property
Friend Sub UpdateZPos()
Dim ptReference As New Point3d
EgtStartPoint(Map.refTopPanelVM.SelPart.nReferenceId, GDB_ID.ROOT, ptReference)
Dim dNewZPos As Double = ptReference.z
Dim b3Print As BBox3d = GetSolidForReferenceBBox(Map.refTopPanelVM.SelPart)
Dim dMin As Double = 0
If b3Print.Min.z < ptReference.z Then
dMin += ptReference.z - b3Print.Min.z
End If
If ptReference.z < dMin Then
EgtMove(Map.refTopPanelVM.SelPart.nPartId, New Point3d(ptReference.x, ptReference.y, dMin) - ptReference, GDB_RT.GLOB)
Map.refDispositionPanelVM.RefreshPos()
EgtDraw()
End If
NotifyPropertyChanged(NameOf(sZPos))
End Sub
' funzione che calcola il box totale del solido da stampare piu' ribs esterne ed unbounded
Friend Function GetSolidForReferenceBBox(SelPart As Print3dPartVM) As BBox3d
Dim b3Print As New BBox3d
EgtGetBBoxGlob(SelPart.nPrintSolidId, GDB_BB.EXACT, b3Print)
If EgtGetGroupObjs(SelPart.nRibsLayerId) > 0 Then
Dim b3Ribs As New BBox3d()
Dim nRibId As Integer = EgtGetFirstInGroup(SelPart.nRibsLayerId)
While nRibId <> GDB_ID.NULL
Dim nRibType As Integer = Machining.MPAR_RIBSTYPE.INTERNAL
If Not EgtGetInfo(nRibId, MAC_RIBSTYPE, nRibType) Then
EgtGetInfo(SelPart.nPartId, MAC_RIBSTYPE, nRibType)
End If
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 Not b3Ribs.IsEmpty() Then
b3Print.Add(b3Ribs)
End If
End If
Return b3Print
End Function
Private m_RotAxes As Boolean() = { False, False, False} Private m_RotAxes As Boolean() = { False, False, False}
Public Property RotX As Boolean Public Property RotX As Boolean
Get Get
@@ -210,25 +185,19 @@ Public Class DispositionPanelVM
Return Return
End If End If
Dim vtMovedPart As Vector3d Dim vtMovedPart As Vector3d
If EgtGetInfo(Map.refTopPanelVM.SelPart.nPartId, KEY_MOVEDPART, vtMovedPart) Then if EgtGetInfo(Map.refTopPanelVM.SelPart.nPartId, "MovedPart", vtMovedPart) Then
Dim nEntId = EgtGetFirstInGroup(Map.refTopPanelVM.SelPart.nPrintSolidLayerId) Dim nEntId = EgtGetFirstInGroup( Map.refTopPanelVM.SelPart.nPrintSolidLayerId)
While nEntId <> GDB_ID.NULL While nEntId <> GDB_ID.NULL
EgtMove(nEntId, -vtMovedPart, GDB_RT.GLOB) EgtMove(nEntId, -vtMovedPart, GDB_RT.GLOB)
nEntId = EgtGetNext(nEntId) nEntId = EgtGetNext( nEntId)
End While End While
EgtRemoveInfo(Map.refTopPanelVM.SelPart.nPartId, KEY_MOVEDPART) EgtRemoveInfo(Map.refTopPanelVM.SelPart.nPartId, "MovedPart")
End If
If EgtGetInfo(Map.refTopPanelVM.SelPart.nPartId, KEY_MOVEDPART2, vtMovedPart) Then
EgtMove(Map.refTopPanelVM.SelPart.nPartId, -vtMovedPart, GDB_RT.GLOB)
EgtMove(Map.refTopPanelVM.SelPart.nReferenceId, vtMovedPart, GDB_RT.GLOB)
EgtRemoveInfo(Map.refTopPanelVM.SelPart.nPartId, KEY_MOVEDPART2)
End If End If
Dim b3PrintSolid As New BBox3d Dim b3PrintSolid As New BBox3d
EgtGetBBoxGlob(Map.refTopPanelVM.SelPart.nPartId, GDB_BB.STANDARD, b3PrintSolid) EgtGetBBoxGlob(Map.refTopPanelVM.SelPart.nPartId, GDB_BB.STANDARD, b3PrintSolid)
If EgtRotate(Map.refTopPanelVM.SelPart.nPartId, b3PrintSolid.Center, vtSelRotAxes, dNewAngle, GDB_RT.GLOB) Then If EgtRotate(Map.refTopPanelVM.SelPart.nPartId, b3PrintSolid.Center, vtSelRotAxes, dNewAngle, GDB_RT.GLOB) Then
m_sRotAngle = 0 m_sRotAngle = 0
Map.refReferencePanelVM.UpdateFramePosition() Map.refReferencePanelVM.UpdateFramePosition()
Map.refDispositionPanelVM.UpdateZPos()
RefreshPos() RefreshPos()
EgtDraw() EgtDraw()
NotifyPropertyChanged(NameOf(sRotAngle)) NotifyPropertyChanged(NameOf(sRotAngle))
+19
View File
@@ -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>
+26
View File
@@ -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
+20
View File
@@ -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
+145
View File
@@ -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
+16
View File
@@ -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
+67
View File
@@ -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
BIN
View File
Binary file not shown.
+137
View File
@@ -1,4 +1,7 @@
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <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')" /> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -12,6 +15,8 @@
<MyType>Custom</MyType> <MyType>Custom</MyType>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic> <Deterministic>true</Deterministic>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<OptionExplicit>On</OptionExplicit> <OptionExplicit>On</OptionExplicit>
@@ -76,6 +81,15 @@
<Prefer32Bit>true</Prefer32Bit> <Prefer32Bit>true</Prefer32Bit>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <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"> <Reference Include="EgtUILib, Version=2.4.7.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\EgtProg\DllD32\EgtUILib.dll</HintPath> <HintPath>..\..\..\EgtProg\DllD32\EgtUILib.dll</HintPath>
@@ -145,6 +159,13 @@
<DependentUpon>DispositionPanelV.xaml</DependentUpon> <DependentUpon>DispositionPanelV.xaml</DependentUpon>
</Compile> </Compile>
<Compile Include="DispositionPanel\DispositionPanelVM.vb" /> <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"> <Compile Include="ImportExportMachiningPanel\ImportExportMachiningPanelV.xaml.vb">
<DependentUpon>ImportExportMachiningPanelV.xaml</DependentUpon> <DependentUpon>ImportExportMachiningPanelV.xaml</DependentUpon>
</Compile> </Compile>
@@ -285,6 +306,7 @@
<DependentUpon>TFSEditorV.xaml</DependentUpon> <DependentUpon>TFSEditorV.xaml</DependentUpon>
</Compile> </Compile>
<Compile Include="Utility\CurrentMachine.vb" /> <Compile Include="Utility\CurrentMachine.vb" />
<Compile Include="Utility\CustomMenuHandler.vb" />
<Compile Include="Utility\Dictionary.xaml.vb"> <Compile Include="Utility\Dictionary.xaml.vb">
<DependentUpon>Dictionary.xaml</DependentUpon> <DependentUpon>Dictionary.xaml</DependentUpon>
</Compile> </Compile>
@@ -329,6 +351,10 @@
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType> <SubType>Designer</SubType>
</Page> </Page>
<Page Include="HelpWnd\HelpWndV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="ImportExportMachiningPanel\ImportExportMachiningPanelV.xaml"> <Page Include="ImportExportMachiningPanel\ImportExportMachiningPanelV.xaml">
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType> <SubType>Designer</SubType>
@@ -536,17 +562,98 @@
<DependentUpon>Settings.settings</DependentUpon> <DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput> <DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile> </Compile>
<EmbeddedResource Include="Icarus.pdf" />
<EmbeddedResource Include="My Project\Resources.resx"> <EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator> <Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput> <LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace> <CustomToolNamespace>My.Resources</CustomToolNamespace>
</EmbeddedResource> </EmbeddedResource>
<Resource Include="Resources\Manual\Icarus.pdf" />
<None Include="app.manifest" /> <None Include="app.manifest" />
<None Include="My Project\Settings.settings"> <None Include="My Project\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator> <Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.vb</LastGenOutput> <LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None> </None>
<None Include="packages.config" /> <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-Regular.ttf" />
<Resource Include="Resources\Fonts\Roboto-Light.ttf" /> <Resource Include="Resources\Fonts\Roboto-Light.ttf" />
</ItemGroup> </ItemGroup>
@@ -682,6 +789,26 @@
<ItemGroup> <ItemGroup>
<Resource Include="Resources\ProjectManager\Export.png" /> <Resource Include="Resources\ProjectManager\Export.png" />
</ItemGroup> </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" /> <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<PropertyGroup> <PropertyGroup>
<PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\Icarus\IcarusR32.exe <PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\Icarus\IcarusR32.exe
@@ -689,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)" == "Release" copy $(TargetPath) c:\EgtProg\Icarus\IcarusR64.exe
IF "$(PlatformName)"=="x64" IF "$(ConfigurationName)" == "Debug" copy $(TargetPath) c:\EgtProg\Icarus\IcarusD64.exe</PostBuildEvent> IF "$(PlatformName)"=="x64" IF "$(ConfigurationName)" == "Debug" copy $(TargetPath) c:\EgtProg\Icarus\IcarusD64.exe</PostBuildEvent>
</PropertyGroup> </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> </Project>
@@ -1,45 +1,15 @@
Imports System.Collections.ObjectModel Imports System.Collections.ObjectModel
Imports System.Drawing
Imports System.IO Imports System.IO
Imports System.Reflection
Imports EgtUILib Imports EgtUILib
Imports EgtWPFLib5 Imports EgtWPFLib5
Imports Icarus.ImportExportMachiningPanelVM
Public Class ImportExportMachiningPanelVM Public Class ImportExportMachiningPanelVM
Inherits VMBase Inherits VMBase
Private Const m_MaterialDataExtension As String = ".mtd"
Public Shared ReadOnly Property MaterialDataExtension As String
Get
Return m_MaterialDataExtension
End Get
End Property
Private Const m_OriginalMaterialDataExtension As String = ".omtd"
Public Shared ReadOnly Property OriginalMaterialDataExtension As String
Get
Return m_OriginalMaterialDataExtension
End Get
End Property
Private Const m_MachiningDataExtension As String = ".mcd"
Public Shared ReadOnly Property MachiningDataExtension As String
Get
Return m_MachiningDataExtension
End Get
End Property
' Modalita' di apertura della finestra ' Modalita' di apertura della finestra
Public Enum WindowModeEnum As Integer Public Enum WindowModeEnum As Integer
IMPORT = 1 IMPORT
EXPORT = 2 EXPORT
IMPORT_ORIG = 3
EXPORT_ORIG = 4
End Enum
' Tipo da importare/esportare
Public Enum WindowTypeEnum As Integer
MATERIAL = 1
MACHINING = 2
End Enum End Enum
Private m_WindowMode As WindowModeEnum Private m_WindowMode As WindowModeEnum
@@ -49,13 +19,6 @@ Public Class ImportExportMachiningPanelVM
End Get End Get
End Property End Property
Private m_WindowType As WindowTypeEnum
Public ReadOnly Property WindowType As WindowTypeEnum
Get
Return m_WindowType
End Get
End Property
' Lista delle lavorazioni ' Lista delle lavorazioni
Private m_MachiningList As New ObservableCollection(Of ImpExpMachiningItem) Private m_MachiningList As New ObservableCollection(Of ImpExpMachiningItem)
Public Property MachiningList As ObservableCollection(Of ImpExpMachiningItem) Public Property MachiningList As ObservableCollection(Of ImpExpMachiningItem)
@@ -122,112 +85,22 @@ Public Class ImportExportMachiningPanelVM
#Region "CONSTRUCTOR" #Region "CONSTRUCTOR"
' export ' export
Sub New(Type As WindowTypeEnum, Mode As WindowModeEnum, Optional sImportFilePath As String = "") Sub New()
m_WindowType = Type m_WindowMode = WindowModeEnum.EXPORT
ImpExpMachiningItem.SetWindowType(m_WindowType)
m_WindowMode = Mode
' carico lista lavorazioni ' carico lista lavorazioni
MachiningList.Clear() MachiningList.Clear()
Select Case Mode ' leggo ed aggiungo le altre
Case WindowModeEnum.IMPORT Dim nIndex As Integer = 1
Select Case Type Dim sGUID As String = ""
Case WindowTypeEnum.MATERIAL Dim sName As String = ""
m_ImportFilePath = sImportFilePath Dim sMaterials As String = ""
' carico lista lavorazioni While ReadMachiningParamString(nIndex, MAC_GUID, "", sGUID) > 0
MachiningList.Clear() Dim Guid As Guid = Guid.Empty
' leggo ed aggiungo le altre Guid.TryParse(sGUID, Guid)
Dim nIndex As Integer = 1 ReadMachiningParamString(nIndex, MAC_NAME, "", sName)
Dim sGUID As String = "" MachiningList.Add(New ImpExpMachiningItem(nIndex, Guid, sName, False))
Dim sName As String = "" nIndex += 1
Dim sMaterials As String = "" End While
Dim bIsOriginal = False
Dim bIsCustom = False
While ReadMachiningParamString(nIndex, MAT_GUID, "", sGUID, sImportFilePath) > 0
Dim Guid As Guid = Guid.Empty
Guid.TryParse(sGUID, Guid)
ReadMachiningParamString(nIndex, MAT_NAME, "", sName, sImportFilePath)
Dim sOrigGUID As String = ""
ReadMachiningParamString(nIndex, MAT_ORIG, "", sOrigGUID, sImportFilePath)
If sOrigGUID = ORIG_MATERIAL Then
If Not bIsOriginal Then bIsOriginal = True
Else
If Not bIsCustom Then bIsCustom = True
End If
MachiningList.Add(New ImpExpMachiningItem(nIndex, Guid, sName, AlreadyExist(sName)))
nIndex += 1
End While
If bIsOriginal AndAlso bIsCustom Then
MessageBox.Show("Corrupted file! Impossible to import it!")
ElseIf bIsOriginal Then
LoadOriginalMaterial()
End If
Case WindowTypeEnum.MACHINING
m_ImportFilePath = sImportFilePath
' carico lista lavorazioni
MachiningList.Clear()
' leggo ed aggiungo le altre
Dim nIndex As Integer = 1
Dim sGUID As String = ""
Dim sName As String = ""
Dim sMaterials As String = ""
While ReadMachiningParamString(nIndex, MAC_GUID, "", sGUID, sImportFilePath) > 0
Dim Guid As Guid = Guid.Empty
Guid.TryParse(sGUID, Guid)
ReadMachiningParamString(nIndex, MAC_NAME, "", sName, sImportFilePath)
MachiningList.Add(New ImpExpMachiningItem(nIndex, Guid, sName, AlreadyExist(sName)))
nIndex += 1
End While
End Select
Case WindowModeEnum.EXPORT
Select Case Type
Case WindowTypeEnum.MATERIAL
' leggo ed aggiungo le altre
Dim nIndex As Integer = 1
Dim sGUID As String = ""
Dim sName As String = ""
While ReadMaterialParamString(nIndex, MAC_GUID, "", sGUID) > 0
Dim sOrigGUID As String = ""
ReadMaterialParamString(nIndex, MAT_ORIG, "", sOrigGUID)
If sOrigGUID <> ORIG_MATERIAL Then
Dim Guid As Guid = Guid.Empty
Guid.TryParse(sGUID, Guid)
ReadMaterialParamString(nIndex, MAC_NAME, "", sName)
MachiningList.Add(New ImpExpMachiningItem(nIndex, Guid, sName, False))
End If
nIndex += 1
End While
Case WindowTypeEnum.MACHINING
' leggo ed aggiungo le altre
Dim nIndex As Integer = 1
Dim sGUID As String = ""
Dim sName As String = ""
While ReadMachiningParamString(nIndex, MAC_GUID, "", sGUID) > 0
Dim Guid As Guid = Guid.Empty
Guid.TryParse(sGUID, Guid)
ReadMachiningParamString(nIndex, MAC_NAME, "", sName)
MachiningList.Add(New ImpExpMachiningItem(nIndex, Guid, sName, False))
nIndex += 1
End While
End Select
Case WindowModeEnum.EXPORT_ORIG
If Type = WindowTypeEnum.MATERIAL Then
' leggo ed aggiungo le altre
Dim nIndex As Integer = 1
Dim sGUID As String = ""
Dim sName As String = ""
While ReadMaterialParamString(nIndex, MAC_GUID, "", sGUID) > 0
Dim sOrigGUID As String = ""
ReadMaterialParamString(nIndex, MAT_ORIG, "", sOrigGUID)
If sOrigGUID = ORIG_MATERIAL Then
Dim Guid As Guid = Guid.Empty
Guid.TryParse(sGUID, Guid)
ReadMaterialParamString(nIndex, MAC_NAME, "", sName)
MachiningList.Add(New ImpExpMachiningItem(nIndex, Guid, sName, False))
End If
nIndex += 1
End While
End If
End Select
ImpExpMachiningItem.m_delEnableOkBtn = AddressOf EnableOkBtn ImpExpMachiningItem.m_delEnableOkBtn = AddressOf EnableOkBtn
End Sub End Sub
@@ -261,104 +134,9 @@ Public Class ImportExportMachiningPanelVM
End Sub End Sub
Private Function AlreadyExist(MachiningName As String) As Boolean Private Function AlreadyExist(MachiningName As String) As Boolean
Select Case m_WindowType Return Map.refMachiningDbVM.MachiningList.Any(Function(x) x.sName = MachiningName)
Case WindowTypeEnum.MATERIAL
Return Map.refMaterialDbVM.MaterialList.Any(Function(x) x.sName = MachiningName)
Case WindowTypeEnum.MACHINING
Return Map.refMachiningDbVM.MachiningList.Any(Function(x) x.sName = MachiningName)
End Select
End Function End Function
Enum MaterialState As Integer
NOTFOUND = 1
FOUND = 2
NOTORIGSAMENAME = 3
End Enum
Private Sub LoadOriginalMaterial()
m_WindowMode = WindowModeEnum.IMPORT_ORIG
' verifico se esistono materiali con lo stesso nome ma non originali
Dim ImportedMaterialList As New List(Of MaterialState)
For Each ImpExpMaterial In m_MachiningList
Dim IsNotOrigSameName As MaterialState = MaterialState.NOTFOUND
For Each DbMaterial In Map.refMaterialDbVM.MaterialList
If DbMaterial.sName = ImpExpMaterial.sName Then
Dim sOrigGUID As String = ""
ReadMaterialParamString(DbMaterial.nIndex, MAT_ORIG, "", sOrigGUID)
If sOrigGUID <> ORIG_MATERIAL Then
If Not IsNotOrigSameName Then IsNotOrigSameName = MaterialState.NOTORIGSAMENAME
End If
Else
IsNotOrigSameName = MaterialState.FOUND
End If
Next
ImportedMaterialList.Add(IsNotOrigSameName)
Next
If ImportedMaterialList.Contains(True) Then
Dim sDuplicatedMaterialList As String = ""
For Index = 0 To ImportedMaterialList.Count - 1
If ImportedMaterialList(Index) = MaterialState.NOTORIGSAMENAME Then
sDuplicatedMaterialList &= " - " & m_MachiningList(Index).sName & Environment.NewLine
End If
Next
MessageBox.Show("Impossible to import the package because materials named:" & Environment.NewLine &
sDuplicatedMaterialList & Environment.NewLine &
"Please modify the names of these machining and then retry to import the materials.")
Return
End If
' aggiorno/aggiungo materiali
Dim OrigFilePath As String = CurrentMachine.sMaterialFilePath
Dim NewMaterial As Material = Nothing
For Each Material In m_MachiningList
Dim nIndex As Integer = Map.refMaterialDbVM.MaterialList.Max(Function(x) x.nIndex) + 1
If Material.Active Then
CurrentMachine.SetMaterialFilePath(ImportFilePath)
' leggo lavorazione da file di import
NewMaterial = New Material(Material.nIndex)
' cambio guid, indice e verifico nome
NewMaterial.sGUID = Guid.NewGuid.ToString()
NewMaterial.SetIndex(nIndex)
If Material.AlreadyExist Then
If Material.ChangeName Then
NewMaterial.sName = Material.sName
Map.refMaterialDbVM.MaterialList.Add(NewMaterial)
Else
' sostituisco lavorazione gia' presente con stesso nome
Dim ToSubstituteMaterial As Material = Map.refMaterialDbVM.MaterialList.FirstOrDefault(Function(x) x.sName = Material.sName)
NewMaterial.SetIndex(ToSubstituteMaterial.nIndex)
NewMaterial.sGUID = ToSubstituteMaterial.sGUID
Dim nToReplaceIndex As Integer = Map.refMaterialDbVM.MaterialList.IndexOf(ToSubstituteMaterial)
Map.refMaterialDbVM.MaterialList(nToReplaceIndex) = NewMaterial
End If
Else
Map.refMaterialDbVM.MaterialList.Add(NewMaterial)
End If
' ripristino path corretta del Db
CurrentMachine.SetMaterialFilePath(OrigFilePath)
' salvo la lavorazione
NewMaterial.Save()
End If
Next
' ripristino path corretta del Db
CurrentMachine.SetMaterialFilePath(OrigFilePath)
' seleziono ultima importata
If Not IsNothing(NewMaterial) Then
Map.refMaterialDbVM.SelMaterial = NewMaterial
Map.refMaterialDbVM.NotifyPropertyChanged(NameOf(Map.refMaterialDbVM.SelMaterial))
End If
' imposto Db modificato
Map.refMaterialDbVM.SetIsModified(True)
' messaggio con modifiche
Dim sMaterialList As String = ""
For Index = 0 To ImportedMaterialList.Count - 1
sMaterialList &= " - " & m_MachiningList(Index).sName & " (" & If(ImportedMaterialList(Index) = MaterialState.NOTFOUND, "New", "Updated") & ")" & Environment.NewLine
Next
MessageBox.Show("List of the materials:" & Environment.NewLine &
sMaterialList & Environment.NewLine &
"Import successfully completed.")
Return
End Sub
#End Region ' METHODS #End Region ' METHODS
#Region "COMMANDS" #Region "COMMANDS"
@@ -381,109 +159,52 @@ Public Class ImportExportMachiningPanelVM
''' Manage the MachiningDb closing. This method is invoked by the CloseMachiningDbCommand. ''' Manage the MachiningDb closing. This method is invoked by the CloseMachiningDbCommand.
''' </summary> ''' </summary>
Public Sub ConfirmImpExpMachinings(param As Object) Public Sub ConfirmImpExpMachinings(param As Object)
Select Case m_WindowMode Select Case WindowMode
Case WindowModeEnum.IMPORT Case WindowModeEnum.IMPORT
Select Case m_WindowType Dim OrigFilePath As String = CurrentMachine.sMachiningFilePath
Case WindowTypeEnum.MATERIAL Dim NewMachining As Machining = Nothing
Dim OrigFilePath As String = CurrentMachine.sMaterialFilePath For Each Machining In m_MachiningList
Dim NewMaterial As Material = Nothing Dim nIndex As Integer = Map.refMachiningDbVM.MachiningList.Max(Function(x) x.nIndex) + 1
For Each Material In m_MachiningList If Machining.Active Then
Dim nIndex As Integer = Map.refMaterialDbVM.MaterialList.Max(Function(x) x.nIndex) + 1 CurrentMachine.SetMachiningFilePath(ImportFilePath)
If Material.Active Then ' leggo lavorazione da file di import
CurrentMachine.SetMaterialFilePath(ImportFilePath) NewMachining = New Machining(Machining.nIndex)
' leggo lavorazione da file di import ' cambio guid, indice e verifico nome
NewMaterial = New Material(Material.nIndex) NewMachining.sGUID = Guid.NewGuid.ToString()
' cambio guid, indice e verifico nome NewMachining.SetIndex(nIndex)
NewMaterial.sGUID = Guid.NewGuid.ToString() If Machining.AlreadyExist Then
NewMaterial.SetIndex(nIndex) If Machining.ChangeName Then
If Material.AlreadyExist Then NewMachining.sName = Machining.sName
If Material.ChangeName Then
NewMaterial.sName = Material.sName
Map.refMaterialDbVM.MaterialList.Add(NewMaterial)
Else
' sostituisco lavorazione gia' presente con stesso nome
Dim ToSubstituteMaterial As Material = Map.refMaterialDbVM.MaterialList.FirstOrDefault(Function(x) x.sName = Material.sName)
NewMaterial.SetIndex(ToSubstituteMaterial.nIndex)
NewMaterial.sGUID = ToSubstituteMaterial.sGUID
Dim nToReplaceIndex As Integer = Map.refMaterialDbVM.MaterialList.IndexOf(ToSubstituteMaterial)
Map.refMaterialDbVM.MaterialList(nToReplaceIndex) = NewMaterial
End If
Else
Map.refMaterialDbVM.MaterialList.Add(NewMaterial)
End If
' ripristino path corretta del Db
CurrentMachine.SetMaterialFilePath(OrigFilePath)
' salvo la lavorazione
NewMaterial.Save()
End If End If
Next
' ripristino path corretta del Db
CurrentMachine.SetMaterialFilePath(OrigFilePath)
' seleziono ultima importata
If Not IsNothing(NewMaterial) Then
Map.refMaterialDbVM.SelMaterial = NewMaterial
Map.refMaterialDbVM.NotifyPropertyChanged(NameOf(Map.refMaterialDbVM.SelMaterial))
End If End If
' imposto Db modificato Map.refMachiningDbVM.MachiningList.Add(NewMachining)
Map.refMaterialDbVM.SetIsModified(True)
Case WindowTypeEnum.MACHINING
Dim OrigFilePath As String = CurrentMachine.sMachiningFilePath
Dim NewMachining As Machining = Nothing
For Each Machining In m_MachiningList
Dim nIndex As Integer = Map.refMachiningDbVM.MachiningList.Max(Function(x) x.nIndex) + 1
If Machining.Active Then
CurrentMachine.SetMachiningFilePath(ImportFilePath)
' leggo lavorazione da file di import
NewMachining = New Machining(Machining.nIndex)
' cambio guid, indice e verifico nome
NewMachining.sGUID = Guid.NewGuid.ToString()
NewMachining.SetIndex(nIndex)
If Machining.AlreadyExist Then
If Machining.ChangeName Then
NewMachining.sName = Machining.sName
Map.refMachiningDbVM.MachiningList.Add(NewMachining)
Else
' sostituisco lavorazione gia' presente con stesso nome
Dim ToSubstituteMachining As Machining = Map.refMachiningDbVM.MachiningList.FirstOrDefault(Function(x) x.sName = Machining.sName)
NewMachining.SetIndex(ToSubstituteMachining.nIndex)
NewMachining.sGUID = ToSubstituteMachining.sGUID
Dim nToReplaceIndex As Integer = Map.refMachiningDbVM.MachiningList.IndexOf(ToSubstituteMachining)
Map.refMachiningDbVM.MachiningList(nToReplaceIndex) = NewMachining
End If
Else
Map.refMachiningDbVM.MachiningList.Add(NewMachining)
End If
' ripristino path corretta del Db
CurrentMachine.SetMachiningFilePath(OrigFilePath)
' salvo la lavorazione
NewMachining.Save()
End If
Next
' ripristino path corretta del Db ' ripristino path corretta del Db
CurrentMachine.SetMachiningFilePath(OrigFilePath) CurrentMachine.SetMachiningFilePath(OrigFilePath)
' seleziono ultima importata ' salvo la lavorazione
If Not IsNothing(NewMachining) Then NewMachining.Save()
Map.refMachiningDbVM.SelMachining = NewMachining
Map.refMachiningDbVM.NotifyPropertyChanged(NameOf(Map.refMachiningDbVM.SelMachining))
End If
' imposto Db modificato
Map.refMachiningDbVM.SetIsModified(True)
End Select
Case WindowModeEnum.EXPORT, WindowModeEnum.EXPORT_ORIG
' chiedo il nome con cui salvare il file
Dim sExtension As String =""
If m_WindowType = WindowTypeEnum.MATERIAL Then
If m_WindowMode = WindowModeEnum.EXPORT_ORIG Then
sExtension = OriginalMaterialDataExtension
Else
sExtension = MaterialDataExtension
End If End If
Else Next
sExtension = MachiningDataExtension ' ripristino path corretta del Db
CurrentMachine.SetMachiningFilePath(OrigFilePath)
' seleziono ultima importata
If Not IsNothing(NewMachining) Then
Map.refMachiningDbVM.SelMachining = NewMachining
Map.refMachiningDbVM.NotifyPropertyChanged(NameOf(Map.refMachiningDbVM.SelMachining))
End If End If
Case WindowModeEnum.EXPORT
' recupero le lavorazioni checkate
Dim FinalNameList As New List(Of String)
For Each Machining In MachiningList
If Machining.Active Then
FinalNameList.Add(Machining.sName)
End If
Next
If FinalNameList.Count() = 0 Then Return
Dim FinalNameArray = FinalNameList.ToArray()
' chiedo il nome con cui salvare il file .data
Dim SaveFileDlg As New System.Windows.Forms.SaveFileDialog() With { Dim SaveFileDlg As New System.Windows.Forms.SaveFileDialog() With {
.Title = EgtMsg(31451) & " " & EgtMsg(31452), .Title = EgtMsg(31451) & " " & EgtMsg(31452),
.Filter = "File data (*" & sExtension & ")|*" & sExtension, .Filter = "File data (*.data)|*.data|Tutti i file (*.*)|*.*",
.FileName = String.Empty .FileName = String.Empty
} }
If SaveFileDlg.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then Return If SaveFileDlg.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then Return
@@ -503,25 +224,15 @@ Public Class ImportExportMachiningPanelVM
Catch ex As Exception Catch ex As Exception
End Try End Try
End If End If
Select Case m_WindowType Dim ActiveMachiningList As List(Of Machining) = (From Machining In Map.refMachiningDbVM.MachiningList
Case WindowTypeEnum.MATERIAL Select Machining
Dim ActiveMachiningList As List(Of Material) = (From Material In Map.refMaterialDbVM.MaterialList Where m_MachiningList.Any(Function(x) x.sGUID.ToString() = Machining.sGUID AndAlso x.Active)).ToList()
Select Material ' salvo tutte le lavorazioni sul Db
Where m_MachiningList.Any(Function(x) x.sGUID.ToString() = Material.sGUID AndAlso x.Active)).ToList() For Index = 0 To ActiveMachiningList.Count - 1
' salvo tutti i materiali sul Db ActiveMachiningList(Index).WriteParamsOnDb(Index + 1, sFilePath)
For Index = 0 To ActiveMachiningList.Count - 1 Next
ActiveMachiningList(Index).WriteParamsOnDb(Index + 1, sFilePath)
Next
Case WindowTypeEnum.MACHINING
Dim ActiveMachiningList As List(Of Machining) = (From Machining In Map.refMachiningDbVM.MachiningList
Select Machining
Where m_MachiningList.Any(Function(x) x.sGUID.ToString() = Machining.sGUID AndAlso x.Active)).ToList()
' salvo tutte le lavorazioni sul Db
For Index = 0 To ActiveMachiningList.Count - 1
ActiveMachiningList(Index).WriteParamsOnDb(Index + 1, sFilePath)
Next
End Select
End Select End Select
' Chiusura finestra ' Chiusura finestra
RaiseEvent m_CloseWindow(True) RaiseEvent m_CloseWindow(True)
End Sub End Sub
@@ -535,18 +246,13 @@ End Class
Public Class ImpExpMachiningItem Public Class ImpExpMachiningItem
Inherits VMBase Inherits VMBase
Public Const IMPEXPNAME As String = "_imp" Public Const IMPEXTNAME As String = "_imp"
' Actions ' Actions
Friend Shared m_delEnableOkBtn As Action Friend Shared m_delEnableOkBtn As Action
Private Shared m_Empty As New MachiningIndex(-1, Guid.Empty, "None") Private Shared m_Empty As New MachiningIndex(-1, Guid.Empty, "None")
Private Shared m_WindowType As WindowTypeEnum
Friend Shared Sub SetWindowType(value As WindowTypeEnum)
m_WindowType = value
End Sub
Private m_nIndex As Integer Private m_nIndex As Integer
Public ReadOnly Property nIndex As Integer Public ReadOnly Property nIndex As Integer
Get Get
@@ -578,51 +284,26 @@ Public Class ImpExpMachiningItem
' se esiste gia' chiedo se sovrascriverla ' se esiste gia' chiedo se sovrascriverla
If value Then If value Then
If m_AlreadyExist Then If m_AlreadyExist Then
Select Case m_WindowType Select Case System.Windows.MessageBox.Show(EgtMsg(31453), "", MessageBoxButton.YesNoCancel)
Case WindowTypeEnum.MATERIAL Case MessageBoxResult.Yes
Select Case System.Windows.MessageBox.Show("Material already existing in Db. Overwrite it?", "", MessageBoxButton.YesNoCancel) m_ChangeName = False
Case MessageBoxResult.Yes m_Active = True
m_ChangeName = False Case MessageBoxResult.No
m_Active = True Dim bImpNameAlreadyInList = False
Case MessageBoxResult.No Dim nImpNameIndex As Integer = 0
Dim bImpNameAlreadyInList = False If Map.refMachiningDbVM.MachiningList.Any(Function(x) x.sName = m_sOrigName & IMPEXTNAME) Then
Dim nImpNameIndex As Integer = 0 nImpNameIndex += 1
If Map.refMaterialDbVM.MaterialList.Any(Function(x) x.sName = m_sOrigName & IMPEXPNAME) Then While Map.refMachiningDbVM.MachiningList.Any(Function(x) x.sName = m_sOrigName & IMPEXTNAME & "_" & nImpNameIndex)
nImpNameIndex += 1 nImpNameIndex += 1
While Map.refMaterialDbVM.MaterialList.Any(Function(x) x.sName = m_sOrigName & IMPEXPNAME & "_" & nImpNameIndex) End While
nImpNameIndex += 1 End If
End While m_sName = m_sOrigName & IMPEXTNAME & If(nImpNameIndex > 0, "_" & nImpNameIndex, "")
End If System.Windows.MessageBox.Show("Machining will be imported with the name: " & m_sName, "", MessageBoxButton.OK)
m_sName = m_sOrigName & IMPEXPNAME & If(nImpNameIndex > 0, "_" & nImpNameIndex, "") NotifyPropertyChanged(NameOf(sName))
System.Windows.MessageBox.Show("Material will be imported with the name: " & m_sName, "", MessageBoxButton.OK) m_ChangeName = True
NotifyPropertyChanged(NameOf(sName)) m_Active = True
m_ChangeName = True Case Else
m_Active = True m_Active = False
Case Else
m_Active = False
End Select
Case WindowTypeEnum.MACHINING
Select Case System.Windows.MessageBox.Show("Machining already existing in Db. Overwrite it?", "", MessageBoxButton.YesNoCancel)
Case MessageBoxResult.Yes
m_ChangeName = False
m_Active = True
Case MessageBoxResult.No
Dim bImpNameAlreadyInList = False
Dim nImpNameIndex As Integer = 0
If Map.refMachiningDbVM.MachiningList.Any(Function(x) x.sName = m_sOrigName & IMPEXPNAME) Then
nImpNameIndex += 1
While Map.refMachiningDbVM.MachiningList.Any(Function(x) x.sName = m_sOrigName & IMPEXPNAME & "_" & nImpNameIndex)
nImpNameIndex += 1
End While
End If
m_sName = m_sOrigName & IMPEXPNAME & If(nImpNameIndex > 0, "_" & nImpNameIndex, "")
System.Windows.MessageBox.Show("Machining will be imported with the name: " & m_sName, "", MessageBoxButton.OK)
NotifyPropertyChanged(NameOf(sName))
m_ChangeName = True
m_Active = True
Case Else
m_Active = False
End Select
End Select End Select
NotifyPropertyChanged(NameOf(Active)) NotifyPropertyChanged(NameOf(Active))
Else Else
@@ -679,3 +360,82 @@ Public Class ImpExpMachiningItem
End Function End Function
End Class End Class
Public Class MachiningItem
Inherits VMBase
' Actions
Friend Shared m_delEnableOkBtn As Action
Private m_Name As String
Public Property Name As String
Get
If m_ChangeName Then
Return m_Name & "_imp"
Else
Return m_Name
End If
End Get
Set(value As String)
m_Name = value
End Set
End Property
Private m_Active As Boolean
Public Property Active As Boolean
Get
Return m_Active
End Get
Set(value As Boolean)
' se esiste gia' chiedo se sovrascriverla
If value Then
If m_AlreadyExist Then
Select Case System.Windows.MessageBox.Show(EgtMsg(31453), "", MessageBoxButton.YesNoCancel)
Case MessageBoxResult.Yes
m_ChangeName = False
m_Active = True
Case MessageBoxResult.No
System.Windows.MessageBox.Show(EgtMsg(31454), "", MessageBoxButton.OK)
m_ChangeName = True
m_Active = True
Case Else
m_Active = False
End Select
NotifyPropertyChanged("Active")
Else
m_Active = True
End If
Else
m_ChangeName = False
m_Active = False
End If
If Not IsNothing(m_delEnableOkBtn) Then m_delEnableOkBtn()
End Set
End Property
' Parametro che indica se questo item da importare esiste gia'
Private m_AlreadyExist As Boolean
Friend ReadOnly Property AlreadyExist As Boolean
Get
Return m_AlreadyExist
End Get
End Property
' Parametro che indica se cambiare il nome di un item che esiste gia' o sovrascriverlo
Private m_ChangeName As Boolean
Friend Property ChangeName As Boolean
Get
Return m_ChangeName
End Get
Set(value As Boolean)
m_ChangeName = value
NotifyPropertyChanged("Name")
End Set
End Property
Sub New(Name As String, AlreadyExist As Boolean)
m_Name = Name
m_AlreadyExist = AlreadyExist
End Sub
End Class
+42 -84
View File
@@ -59,10 +59,7 @@ Public Class Machining
EXTRA_SHELL = 2 EXTRA_SHELL = 2
INFILL = 3 INFILL = 3
AUX_SOLID = 4 AUX_SOLID = 4
RIB_UNBOUNDED = 5 RIB = 5
RIB_EXTERNAL = 6
RIB_INTERNAL = 7
RIB_SUPPORT = 8
End Enum End Enum
Protected m_CathegoryList As New ObservableCollection(Of MachiningCathegory) Protected m_CathegoryList As New ObservableCollection(Of MachiningCathegory)
@@ -137,7 +134,7 @@ Public Class Machining
Else Else
nIndex = -1 nIndex = -1
m_sGUID = Guid.NewGuid.ToString() m_sGUID = Guid.NewGuid.ToString()
m_sName = "New Machining" m_sName = "PrintingParam"
End If End If
m_sOrigName = m_sName m_sOrigName = m_sName
m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.GENERAL, nIndex)) m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.GENERAL, nIndex))
@@ -172,7 +169,7 @@ Public Class Machining
NotifyPropertyChanged(NameOf(ghName)) NotifyPropertyChanged(NameOf(ghName))
End Sub End Sub
Friend Overridable Sub Save() Friend Sub Save()
If bIsModified Then If bIsModified Then
' salvo tutti i parametri su orig ' salvo tutti i parametri su orig
SaveParams() SaveParams()
@@ -183,7 +180,7 @@ Public Class Machining
End If End If
End Sub End Sub
Protected Overridable Sub SaveParams() Private Sub SaveParams()
SaveName() SaveName()
For Each Cathegory In m_CathegoryList For Each Cathegory In m_CathegoryList
Cathegory.SaveParams() Cathegory.SaveParams()
@@ -356,7 +353,6 @@ Public Class MachiningCathegory
New CheckMachiningParam(MachiningParam.Params.RIBSLINK, nIndex), New CheckMachiningParam(MachiningParam.Params.RIBSLINK, nIndex),
New CheckMachiningParam(MachiningParam.Params.RIBSINVERTORDER, nIndex), New CheckMachiningParam(MachiningParam.Params.RIBSINVERTORDER, nIndex),
New CheckMachiningParam(MachiningParam.Params.RIBSINVERTDIRECTION, nIndex), New CheckMachiningParam(MachiningParam.Params.RIBSINVERTDIRECTION, nIndex),
New CheckMachiningParam(MachiningParam.Params.RIBSINVERTSTRANDORDER, nIndex),
New CheckMachiningParam(MachiningParam.Params.RIBSLEADININVERT, nIndex), New CheckMachiningParam(MachiningParam.Params.RIBSLEADININVERT, nIndex),
New NumericMachiningParam(MachiningParam.Params.RIBSLEADINLEN, nIndex), New NumericMachiningParam(MachiningParam.Params.RIBSLEADINLEN, nIndex),
New CheckMachiningParam(MachiningParam.Params.RIBSLEADOUTINVERT, nIndex), New CheckMachiningParam(MachiningParam.Params.RIBSLEADOUTINVERT, nIndex),
@@ -479,7 +475,6 @@ Public MustInherit Class MachiningParam
FLOWRATE_PC = 58 FLOWRATE_PC = 58
DYNAMIC_MODE = 59 DYNAMIC_MODE = 59
PRINT_ORDER = 60 PRINT_ORDER = 60
RIBSINVERTSTRANDORDER = 61
MATERIALS = 100 MATERIALS = 100
End Enum End Enum
@@ -566,8 +561,6 @@ Public MustInherit Class MachiningParam
m_sName = "Invert Order" m_sName = "Invert Order"
Case Params.RIBSINVERTDIRECTION Case Params.RIBSINVERTDIRECTION
m_sName = "Invert Direction" m_sName = "Invert Direction"
Case Params.RIBSINVERTSTRANDORDER
m_sName = "Invert Strand Order"
Case Params.RIBSLEADININVERT Case Params.RIBSLEADININVERT
m_sName = "Lead In Invert" m_sName = "Lead In Invert"
Case Params.RIBSLEADINLEN Case Params.RIBSLEADINLEN
@@ -1162,8 +1155,6 @@ Public Class CheckMachiningParam
m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSINVERTORDER, 0) m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSINVERTORDER, 0)
Case Params.RIBSINVERTDIRECTION Case Params.RIBSINVERTDIRECTION
m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSINVERTDIRECTION, 0) m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSINVERTDIRECTION, 0)
Case Params.RIBSINVERTSTRANDORDER
m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSINVERTSTRANDORDER, 0)
Case Params.RIBSLEADININVERT Case Params.RIBSLEADININVERT
m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLEADININVERT, 0) m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLEADININVERT, 0)
Case Params.RIBSLEADOUTINVERT Case Params.RIBSLEADOUTINVERT
@@ -1183,8 +1174,6 @@ Public Class CheckMachiningParam
WriteMachiningParam(nIndex, MAC_RIBSINVERTORDER, If(m_bValue, 1, 0), sFilePath) WriteMachiningParam(nIndex, MAC_RIBSINVERTORDER, If(m_bValue, 1, 0), sFilePath)
Case Params.RIBSINVERTDIRECTION Case Params.RIBSINVERTDIRECTION
WriteMachiningParam(nIndex, MAC_RIBSINVERTDIRECTION, If(m_bValue, 1, 0), sFilePath) WriteMachiningParam(nIndex, MAC_RIBSINVERTDIRECTION, If(m_bValue, 1, 0), sFilePath)
Case Params.RIBSINVERTSTRANDORDER
WriteMachiningParam(nIndex, MAC_RIBSINVERTSTRANDORDER, If(m_bValue, 1, 0), sFilePath)
Case Params.RIBSLEADININVERT Case Params.RIBSLEADININVERT
WriteMachiningParam(nIndex, MAC_RIBSLEADININVERT, If(m_bValue, 1, 0), sFilePath) WriteMachiningParam(nIndex, MAC_RIBSLEADININVERT, If(m_bValue, 1, 0), sFilePath)
Case Params.RIBSLEADOUTINVERT Case Params.RIBSLEADOUTINVERT
@@ -1280,8 +1269,6 @@ End Class
Public Class OrderedMachiningParam Public Class OrderedMachiningParam
Inherits MachiningParam Inherits MachiningParam
Protected m_StandardValueOrderList As List(Of Integer)
Protected m_ValueList As ObservableCollection(Of IdNameStruct) Protected m_ValueList As ObservableCollection(Of IdNameStruct)
Public ReadOnly Property ValueList As ObservableCollection(Of IdNameStruct) Public ReadOnly Property ValueList As ObservableCollection(Of IdNameStruct)
Get Get
@@ -1317,44 +1304,48 @@ Public Class OrderedMachiningParam
Set(value As String) Set(value As String)
Select Case Type Select Case Type
Case Params.PRINT_ORDER Case Params.PRINT_ORDER
Dim StringValueList() As String Dim StandardValueList() As String = {Machining.MPAR_PRINT_ORDER.SHELL,
Dim IntegerValueList As New List(Of Integer) Machining.MPAR_PRINT_ORDER.EXTRA_SHELL,
If value.Length = 15 Then 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) StringValueList = value.Split(","c)
For Each StringValue In StringValueList
Dim IntegerValue As Integer = 0
If Integer.TryParse(StringValue, IntegerValue) Then
IntegerValueList.Add(IntegerValue)
End If
Next
End If End If
If IntegerValueList.Count <> 8 Then If StringValueList.Count <> 5 Then
IntegerValueList = m_StandardValueOrderList StringValueList = StandardValueList
End If End If
If Not IntegerValueList.Contains(Machining.MPAR_PRINT_ORDER.SHELL) OrElse If Not StringValueList.Contains(Machining.MPAR_PRINT_ORDER.SHELL) OrElse
Not IntegerValueList.Contains(Machining.MPAR_PRINT_ORDER.EXTRA_SHELL) OrElse Not StringValueList.Contains(Machining.MPAR_PRINT_ORDER.EXTRA_SHELL) OrElse
Not IntegerValueList.Contains(Machining.MPAR_PRINT_ORDER.INFILL) OrElse Not StringValueList.Contains(Machining.MPAR_PRINT_ORDER.INFILL) OrElse
Not IntegerValueList.Contains(Machining.MPAR_PRINT_ORDER.AUX_SOLID) OrElse Not StringValueList.Contains(Machining.MPAR_PRINT_ORDER.AUX_SOLID) OrElse
Not IntegerValueList.Contains(Machining.MPAR_PRINT_ORDER.RIB_UNBOUNDED) OrElse Not StringValueList.Contains(Machining.MPAR_PRINT_ORDER.RIB) Then
Not IntegerValueList.Contains(Machining.MPAR_PRINT_ORDER.RIB_EXTERNAL) OrElse StringValueList = StandardValueList
Not IntegerValueList.Contains(Machining.MPAR_PRINT_ORDER.RIB_INTERNAL) OrElse
Not IntegerValueList.Contains(Machining.MPAR_PRINT_ORDER.RIB_SUPPORT) Then
IntegerValueList = m_StandardValueOrderList
End If End If
OrderByReference(m_ValueList, IntegerValueList) 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 Select
End Set End Set
End Property End Property
Public Shared Sub OrderByReference(collection As ObservableCollection(Of IdNameStruct), comparison As List(Of Integer))
For i As Integer = 0 To comparison.Count - 1
Dim Index As Integer = i
If Not comparison.ElementAt(i).Equals(collection.ElementAt(i)) Then
collection.Move(collection.IndexOf(collection.FirstOrDefault(Function(x) x.Id = comparison(Index))), i)
End If
Next
End Sub
Public Overrides ReadOnly Property bIsModified As Boolean Public Overrides ReadOnly Property bIsModified As Boolean
Get Get
Return Value <> m_OrigValue Return Value <> m_OrigValue
@@ -1373,45 +1364,12 @@ Public Class OrderedMachiningParam
Sub New(Type As Params, nIndex As Integer) Sub New(Type As Params, nIndex As Integer)
MyBase.New(Type) MyBase.New(Type)
If nIndex = 0 Then If nIndex = 0 Then
Select Case Type m_ValueList = New ObservableCollection(Of IdNameStruct)
Case Params.PRINT_ORDER m_SelValue = Nothing
m_StandardValueOrderList = New List(Of Integer)({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_UNBOUNDED,
Machining.MPAR_PRINT_ORDER.RIB_EXTERNAL,
Machining.MPAR_PRINT_ORDER.RIB_INTERNAL,
Machining.MPAR_PRINT_ORDER.RIB_SUPPORT})
m_ValueList = New ObservableCollection(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_PRINT_ORDER.SHELL, "Shell"),
New IdNameStruct(Machining.MPAR_PRINT_ORDER.EXTRA_SHELL, "Extra Shells"),
New IdNameStruct(Machining.MPAR_PRINT_ORDER.INFILL, "Infills"),
New IdNameStruct(Machining.MPAR_PRINT_ORDER.AUX_SOLID, "Filled Solids"),
New IdNameStruct(Machining.MPAR_PRINT_ORDER.RIB_UNBOUNDED, "Unbounded Ribs"),
New IdNameStruct(Machining.MPAR_PRINT_ORDER.RIB_EXTERNAL, "External Ribs"),
New IdNameStruct(Machining.MPAR_PRINT_ORDER.RIB_INTERNAL, "Internal Ribs"),
New IdNameStruct(Machining.MPAR_PRINT_ORDER.RIB_SUPPORT, "Support Ribs")})
m_SelValue = Nothing
End Select
Else Else
Select Case Type Select Case Type
Case Params.PRINT_ORDER Case Params.PRINT_ORDER
m_StandardValueOrderList = New List(Of Integer)({Machining.MPAR_PRINT_ORDER.SHELL, m_ValueList = New ObservableCollection(Of IdNameStruct)
Machining.MPAR_PRINT_ORDER.EXTRA_SHELL,
Machining.MPAR_PRINT_ORDER.INFILL,
Machining.MPAR_PRINT_ORDER.AUX_SOLID,
Machining.MPAR_PRINT_ORDER.RIB_UNBOUNDED,
Machining.MPAR_PRINT_ORDER.RIB_EXTERNAL,
Machining.MPAR_PRINT_ORDER.RIB_INTERNAL,
Machining.MPAR_PRINT_ORDER.RIB_SUPPORT})
m_ValueList = New ObservableCollection(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_PRINT_ORDER.SHELL, "Shell"),
New IdNameStruct(Machining.MPAR_PRINT_ORDER.EXTRA_SHELL, "Extra Shells"),
New IdNameStruct(Machining.MPAR_PRINT_ORDER.INFILL, "Infills"),
New IdNameStruct(Machining.MPAR_PRINT_ORDER.AUX_SOLID, "Filled Solids"),
New IdNameStruct(Machining.MPAR_PRINT_ORDER.RIB_UNBOUNDED, "Unbounded Ribs"),
New IdNameStruct(Machining.MPAR_PRINT_ORDER.RIB_EXTERNAL, "External Ribs"),
New IdNameStruct(Machining.MPAR_PRINT_ORDER.RIB_INTERNAL, "Internal Ribs"),
New IdNameStruct(Machining.MPAR_PRINT_ORDER.RIB_SUPPORT, "Support Ribs")})
ReadMachiningParamString(nIndex, MAC_PRINTORDER, "", Value) ReadMachiningParamString(nIndex, MAC_PRINTORDER, "", Value)
End Select End Select
End If End If
@@ -1499,9 +1457,9 @@ Public Class OrderedMachiningParam
Public Sub ResetOrder() Public Sub ResetOrder()
Dim CurrValue As String = Value Dim CurrValue As String = Value
OrderByReference(m_ValueList, m_StandardValueOrderList)
m_ValueList = New ObservableCollection(Of IdNameStruct)(m_ValueList.OrderBy(Function(x) x.Id)) m_ValueList = New ObservableCollection(Of IdNameStruct)(m_ValueList.OrderBy(Function(x) x.Id))
If Value <> CurrValue Then If Value <> CurrValue Then
SelValue = Nothing
NotifyPropertyChanged(NameOf(ValueList)) NotifyPropertyChanged(NameOf(ValueList))
NotifyPropertyChanged(NameOf(Value)) NotifyPropertyChanged(NameOf(Value))
NotifyPropertyChanged(NameOf(SelValue)) NotifyPropertyChanged(NameOf(SelValue))
+26 -28
View File
@@ -8,6 +8,7 @@
Style="{StaticResource RightPanel_Border}"> Style="{StaticResource RightPanel_Border}">
<Grid> <Grid>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/> <RowDefinition Height="1*"/>
@@ -62,7 +63,6 @@
Visibility="{Binding Combo_Visibility}" Visibility="{Binding Combo_Visibility}"
Style="{StaticResource FeatureComboBox}"/> Style="{StaticResource FeatureComboBox}"/>
<EgtWPFLib5:EgtTextBox Text="{Binding SelectedItem.sName, ElementName=MachiningCombo, UpdateSourceTrigger=Explicit}" <EgtWPFLib5:EgtTextBox Text="{Binding SelectedItem.sName, ElementName=MachiningCombo, UpdateSourceTrigger=Explicit}"
ExplicitUpdateSource="EnterKeyPressOrLostFocus"
IsExplicitFocused="{Binding UserShouldEditValueNow}" IsExplicitFocused="{Binding UserShouldEditValueNow}"
Visibility="{Binding Name_Visibility}" Visibility="{Binding Name_Visibility}"
Style="{StaticResource OptionTextBox}"/> Style="{StaticResource OptionTextBox}"/>
@@ -72,7 +72,7 @@
<Image Source="/Resources/TopPanel/Edit.png"/> <Image Source="/Resources/TopPanel/Edit.png"/>
</Button> </Button>
</Grid> </Grid>
<ScrollViewer Grid.Row="2" <ScrollViewer Grid.Row="3"
VerticalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Disabled"> HorizontalScrollBarVisibility="Disabled">
<ItemsControl Grid.Row="1" <ItemsControl Grid.Row="1"
@@ -188,33 +188,31 @@
<DataTemplate DataType="{x:Type PrintApp:OrderedMachiningParam}"> <DataTemplate DataType="{x:Type PrintApp:OrderedMachiningParam}">
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="{Binding sName}" <Grid.RowDefinitions>
VerticalAlignment="Center"/> <RowDefinition Height="Auto"/>
<Grid Grid.Column="1"> <RowDefinition Height="Auto"/>
<Grid.ColumnDefinitions> </Grid.RowDefinitions>
<ColumnDefinition Width="1*"/> <TextBlock Text="{Binding sName}"/>
<ColumnDefinition Width="Auto"/> <StackPanel Grid.Column="1"
</Grid.ColumnDefinitions> Orientation="Horizontal"
<ListBox ItemsSource="{Binding ValueList}" HorizontalAlignment="Right">
SelectedItem="{Binding SelValue}"/> <Button Content="&lt;>"
<StackPanel Grid.Column="1" Command="{Binding ResetOrder_Command}"
Orientation="Vertical" Style="{StaticResource ToolBar_SmallButton}"/>
VerticalAlignment="Center" <Button Content="˄"
Margin="5,0,0,0"> Command="{Binding MoveUpOrder_Command}"
<Button Content="˄" Style="{StaticResource ToolBar_SmallButton}"/>
Command="{Binding MoveUpOrder_Command}" <Button Content="˅"
Style="{StaticResource ToolBar_SmallButton}"/> Command="{Binding MoveDownOrder_Command}"
<Button Content="˅" Style="{StaticResource ToolBar_SmallButton}"/>
Command="{Binding MoveDownOrder_Command}" </StackPanel>
Style="{StaticResource ToolBar_SmallButton}"/> <ListBox Grid.ColumnSpan="2"
<Button Content="&lt;>" Grid.Row="1"
Command="{Binding ResetOrder_Command}" ItemsSource="{Binding ValueList}"
Style="{StaticResource ToolBar_SmallButton}"/> SelectedItem="{Binding SelValue}"/>
</StackPanel>
</Grid>
</Grid> </Grid>
</DataTemplate> </DataTemplate>
</ItemsControl.Resources> </ItemsControl.Resources>
@@ -224,7 +222,7 @@
</ItemsControl.ItemTemplate> </ItemsControl.ItemTemplate>
</ItemsControl> </ItemsControl>
</ScrollViewer> </ScrollViewer>
<UniformGrid Grid.Row="3" Rows="1"> <UniformGrid Grid.Row="4" Rows="1">
<Button Content="Ok" <Button Content="Ok"
Command="{Binding Ok_Command}" Command="{Binding Ok_Command}"
IsEnabled="{Binding IsEnabled}" IsEnabled="{Binding IsEnabled}"
+7 -8
View File
@@ -291,9 +291,6 @@ Public Class MachiningDbVM
Case MessageBoxResult.Yes Case MessageBoxResult.Yes
m_MachiningList.Remove(m_SelMachining) m_MachiningList.Remove(m_SelMachining)
SetIsModified(True) SetIsModified(True)
If m_MachiningList.Count > 0 Then
SelMachining = m_MachiningList(0)
End If
Case MessageBoxResult.No Case MessageBoxResult.No
Return Return
End Select End Select
@@ -333,11 +330,13 @@ Public Class MachiningDbVM
Public Sub Import() Public Sub Import()
' chiedo il nome del file .data da aprire ' chiedo il nome del file .data da aprire
Dim OpenFileDlg As New System.Windows.Forms.OpenFileDialog() With {.Title = EgtMsg(31451) & " " & EgtMsg(31452), Dim OpenFileDlg As New System.Windows.Forms.OpenFileDialog() With {
.Filter = "File data (*" & ImportExportMachiningPanelVM.MachiningDataExtension & ")|*" & ImportExportMachiningPanelVM.MachiningDataExtension, .Title = EgtMsg(31451) & " " & EgtMsg(31452),
.FileName = String.Empty} .Filter = "File data (*.data)|*.data|Tutti i file (*.*)|*.*",
.FileName = String.Empty
}
If OpenFileDlg.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then Return If OpenFileDlg.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then Return
Dim ImportWindow As New ImportExportMachiningPanelV(Application.Current.MainWindow, New ImportExportMachiningPanelVM(ImportExportMachiningPanelVM.WindowTypeEnum.MACHINING, ImportExportMachiningPanelVM.WindowModeEnum.IMPORT, OpenFileDlg.FileName)) Dim ImportWindow As New ImportExportMachiningPanelV(Application.Current.MainWindow, New ImportExportMachiningPanelVM(OpenFileDlg.FileName))
ImportWindow.ShowDialog() ImportWindow.ShowDialog()
End Sub End Sub
@@ -355,7 +354,7 @@ Public Class MachiningDbVM
End Property End Property
Public Sub Export() Public Sub Export()
Dim ExportWindow As New ImportExportMachiningPanelV(Application.Current.MainWindow, New ImportExportMachiningPanelVM(ImportExportMachiningPanelVM.WindowTypeEnum.MACHINING, ImportExportMachiningPanelVM.WindowModeEnum.EXPORT)) Dim ExportWindow As New ImportExportMachiningPanelV(Application.Current.MainWindow, New ImportExportMachiningPanelVM)
ExportWindow.ShowDialog() ExportWindow.ShowDialog()
End Sub End Sub
+2 -2
View File
@@ -195,8 +195,8 @@ Public Class MainWindowM
' Verifico abilitazione nesting automatico ' Verifico abilitazione nesting automatico
m_bAutoNestOption = Not String.IsNullOrWhiteSpace(sNestKey) m_bAutoNestOption = Not String.IsNullOrWhiteSpace(sNestKey)
' Recupero livello e opzioni della chiave ' Recupero livello e opzioni della chiave
Dim bKey As Boolean = EgtGetKeyLevel(5583, 2502, 1, m_nKeyLevel) And Dim bKey As Boolean = EgtGetKeyLevel(5583, 2501, 1, m_nKeyLevel) And
EgtGetKeyOptions(5583, 2502, 1, m_nKeyOptions) EgtGetKeyOptions(5583, 2501, 1, m_nKeyOptions)
' Inizializzazione generale di EgtInterface ' Inizializzazione generale di EgtInterface
m_nDebug = GetMainPrivateProfileInt(S_GENERAL, K_DEBUG, 0) m_nDebug = GetMainPrivateProfileInt(S_GENERAL, K_DEBUG, 0)
m_sLogFile = m_sTempDir & "\" & GENLOG_FILE_NAME.Replace("#", m_nInstance.ToString()) m_sLogFile = m_sTempDir & "\" & GENLOG_FILE_NAME.Replace("#", m_nInstance.ToString())
+10 -6
View File
@@ -359,17 +359,15 @@ Public Class ManagePartPanelVM
nRibsLayerId = EgtCreateGroup(nPartId) nRibsLayerId = EgtCreateGroup(nPartId)
EgtSetName(nRibsLayerId, LAY_RIBS) EgtSetName(nRibsLayerId, LAY_RIBS)
EgtSetColor(nRibsLayerId, GeomEntityColors.c3Rib) EgtSetColor(nRibsLayerId, GeomEntityColors.c3Rib)
Dim nRibsIndex As Integer = 1
For Each PartManager_GeomEntity In ManagePart_Layer.EntityList For Each PartManager_GeomEntity In ManagePart_Layer.EntityList
EgtSetInfo(PartManager_GeomEntity.nId, KEY_RIB_TYPE, RibEntity.RibTypes.FROMIMPORT) EgtSetInfo(PartManager_GeomEntity.nId, KEY_RIB_TYPE, RibEntity.RibTypes.FROMIMPORT)
EgtSetInfo(PartManager_GeomEntity.nId, RIB_ID, nRibsIndex) EgtSetInfo(PartManager_GeomEntity.nId, RIB_ID, RibPanelVM.GetNextRibIndex())
EgtRelocateGlob(PartManager_GeomEntity.nId, nRibsLayerId, GDB_POS.LAST_SON) EgtRelocateGlob(PartManager_GeomEntity.nId, nRibsLayerId, GDB_POS.LAST_SON)
' elimino colore entita' ' elimino colore entita'
EgtResetColor(PartManager_GeomEntity.nId) EgtResetColor(PartManager_GeomEntity.nId)
If PartManager_GeomEntity.sName <> PartManager_GeomEntity.nId.ToString() Then If PartManager_GeomEntity.sName <> PartManager_GeomEntity.nId.ToString() Then
EgtSetInfo(PartManager_GeomEntity.nId, ENTITY_NAME, PartManager_GeomEntity.sName) EgtSetInfo(PartManager_GeomEntity.nId, ENTITY_NAME, PartManager_GeomEntity.sName)
End If End If
nRibsIndex += 1
Next Next
Case ManagePart_Layer.LayerType.SHELL_NUMBER Case ManagePart_Layer.LayerType.SHELL_NUMBER
nShellNumberLayerId = EgtCreateGroup(nPartId) nShellNumberLayerId = EgtCreateGroup(nPartId)
@@ -435,9 +433,17 @@ Public Class ManagePartPanelVM
End If End If
End Select End Select
Next Next
' aggiungo layer riferimento ' aggiungo riferimento
Dim nReferenceLayerId As Integer = EgtCreateGroup(nPartId) Dim nReferenceLayerId As Integer = EgtCreateGroup(nPartId)
EgtSetName(nReferenceLayerId, LAY_REFERENCE) EgtSetName(nReferenceLayerId, LAY_REFERENCE)
' Creo riferimento
Dim ptOrig As New Point3d(b3PrintSolid.Min())
Dim frPrintSolid As New Frame3d(ptOrig)
nFrameId = EgtCreateGeoFrame(nReferenceLayerId, frPrintSolid, GDB_RT.GLOB)
If nFrameId Then
EgtSetName(nFrameId, FRAME_PART)
EgtSetMode(nFrameId, GDB_MD.LOCKED)
End If
EgtSetInfo(nReferenceLayerId, KEY_REFERENCE, ReferenceBtn.References.BL) EgtSetInfo(nReferenceLayerId, KEY_REFERENCE, ReferenceBtn.References.BL)
' appoggio il pezzo sulla tavola ' appoggio il pezzo sulla tavola
EgtMove(nPartId, New Vector3d(0, 0, -b3PrintSolid.Min.z)) EgtMove(nPartId, New Vector3d(0, 0, -b3PrintSolid.Min.z))
@@ -449,8 +455,6 @@ Public Class ManagePartPanelVM
EgtSetInfo(nPartId, "PartOnTable", 1) EgtSetInfo(nPartId, "PartOnTable", 1)
Dim NewPart As New Print3dPartVM(nPartId, nPrintPartLayerId, nReferenceLayerId, nFrameId, nMachStartLayerId, nRibsLayerId, nShellNumberLayerId, nAuxSolidsLayerId, nOthersLayerId, sFilePath) Dim NewPart As New Print3dPartVM(nPartId, nPrintPartLayerId, nReferenceLayerId, nFrameId, nMachStartLayerId, nRibsLayerId, nShellNumberLayerId, nAuxSolidsLayerId, nOthersLayerId, sFilePath)
Map.refTopPanelVM.PartList.Add(NewPart) Map.refTopPanelVM.PartList.Add(NewPart)
' aggiorno riferimento
Map.refReferencePanelVM.UpdateFramePosition(NewPart)
Next Next
End If End If
'EgtAddMachGroup("3dPrint") 'EgtAddMachGroup("3dPrint")
+26 -44
View File
@@ -1,5 +1,4 @@
Imports System.Collections.ObjectModel Imports System.Collections.ObjectModel
Imports System.Windows.Forms.VisualStyles.VisualStyleElement
Imports EgtUILib Imports EgtUILib
Imports EgtWPFLib5 Imports EgtWPFLib5
@@ -376,11 +375,10 @@ Public Class ManagePart_Layer
Public Enum LayerType As Integer Public Enum LayerType As Integer
PRINT_SOLID = 1 PRINT_SOLID = 1
'REFERENCE = 2 MACH_START = 2
MACH_START = 3 RIBS = 3
RIBS = 4 SHELL_NUMBER = 4
SHELL_NUMBER = 5 AUX_SOLIDS = 5
AUX_SOLIDS = 6
OTHERS = 7 OTHERS = 7
CHANGENAME = 15 CHANGENAME = 15
DELETE = 16 DELETE = 16
@@ -641,7 +639,7 @@ Public Class GeomEntity_MenuItem
End If End If
' se e' presente elimino flag di spostamento a 45 gradi ' se e' presente elimino flag di spostamento a 45 gradi
Dim nPartId As Integer = EgtGetParent(EgtGetParent(m_OrigEntity.nId)) Dim nPartId As Integer = EgtGetParent(EgtGetParent(m_OrigEntity.nId))
EgtRemoveInfo(nPartId, KEY_MOVEDPART) EgtRemoveInfo(nPartId, "MovedPart")
EgtDraw() EgtDraw()
' aggiorno riferimenti nel context menu item ' aggiorno riferimenti nel context menu item
Map.refManagePartPanelVM.UpdateAllEntityContextMenu() Map.refManagePartPanelVM.UpdateAllEntityContextMenu()
@@ -668,8 +666,6 @@ Public Class GeomEntity_MenuItem
NewLayer.EntityList.Add(m_OrigEntity) NewLayer.EntityList.Add(m_OrigEntity)
' aggiorno riferimenti nell'entita' ' aggiorno riferimenti nell'entita'
m_OrigEntity.UpdateOrigLayer(NewLayer) m_OrigEntity.UpdateOrigLayer(NewLayer)
' aggiorno colore
EgtSetColor(m_OrigEntity.nId, GetColor(LayerType.PRINTPART))
End If End If
End If End If
' aggiorno i contextmenu di tutti gli entity ' aggiorno i contextmenu di tutti gli entity
@@ -688,38 +684,44 @@ Public Class GeomEntity_MenuItem
' creo layer solido di stampa ' creo layer solido di stampa
Dim nPrintPartLayerId As Integer = EgtCreateGroup(nPartId) Dim nPrintPartLayerId As Integer = EgtCreateGroup(nPartId)
EgtSetName(nPrintPartLayerId, PRINT_SOLID) EgtSetName(nPrintPartLayerId, PRINT_SOLID)
EgtSetColor(nPrintPartLayerId, GeomEntityColors.c3Print)
EgtRelocateGlob(m_OrigEntity.nId, nPrintPartLayerId, GDB_POS.LAST_SON) EgtRelocateGlob(m_OrigEntity.nId, nPrintPartLayerId, GDB_POS.LAST_SON)
' calcolo box superficie per creazione riferimento ' calcolo box superficie per creazione riferimento
EgtGetBBoxGlob(m_OrigEntity.nId, GDB_BB.STANDARD, b3PrintSolid) EgtGetBBoxGlob(m_OrigEntity.nId, GDB_BB.STANDARD, b3PrintSolid)
' coloro l'entita'
EgtSetColor(m_OrigEntity.nId, GeomEntityColors.c3Print)
' creo layer mach start ' creo layer mach start
Dim nMachStartLayerId As Integer = EgtCreateGroup(nPartId) Dim nMachStartLayerId As Integer = EgtCreateGroup(nPartId)
EgtSetName(nMachStartLayerId, LAY_MACH_START) EgtSetName(nMachStartLayerId, LAY_MACH_START)
EgtSetColor(nMachStartLayerId, GeomEntityColors.c3MachStart)
Dim nMachStartId As Integer = GDB_ID.NULL Dim nMachStartId As Integer = GDB_ID.NULL
' creo punto di partenza ' creo punto di partenza
Dim ptStart As Point3d = b3PrintSolid.Center() - 0.6 * b3PrintSolid.DimY() * Vector3d.Y_AX() - 0.5 * b3PrintSolid.DimZ() * Vector3d.Z_AX() 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) nMachStartId = EgtCreateGeoPoint(nMachStartLayerId, ptStart, GDB_RT.GLOB)
EgtSetName(nMachStartId, START_GEOM) EgtSetName(nMachStartId, START_GEOM)
' coloro l'entita' di rosso
EgtSetColor(nMachStartId, GeomEntityColors.c3MachStart)
' creo layer ribs ' creo layer ribs
Dim nRibsLayerId As Integer = EgtCreateGroup(nPartId) Dim nRibsLayerId As Integer = EgtCreateGroup(nPartId)
EgtSetName(nRibsLayerId, LAY_RIBS) EgtSetName(nRibsLayerId, LAY_RIBS)
EgtSetColor(nRibsLayerId, GeomEntityColors.c3Rib)
' creo layer shell number ' creo layer shell number
Dim nShellNumberLayerId As Integer = EgtCreateGroup(nPartId) Dim nShellNumberLayerId As Integer = EgtCreateGroup(nPartId)
EgtSetName(nShellNumberLayerId, LAY_SHELL_NBR) EgtSetName(nShellNumberLayerId, LAY_SHELL_NBR)
EgtSetColor(nShellNumberLayerId, GeomEntityColors.c3ShellNumber)
' creo layer aux ' creo layer aux
Dim nAuxSolidsLayerId As Integer = EgtCreateGroup(nPartId) Dim nAuxSolidsLayerId As Integer = EgtCreateGroup(nPartId)
EgtSetName(nAuxSolidsLayerId, LAY_AUX_SOLIDS) EgtSetName(nAuxSolidsLayerId, LAY_AUX_SOLIDS)
EgtSetColor(nAuxSolidsLayerId, GeomEntityColors.c3AuxSolids)
' creo layer others ' creo layer others
Dim nOthersLayerId As Integer = EgtCreateGroup(nPartId) Dim nOthersLayerId As Integer = EgtCreateGroup(nPartId)
EgtSetName(nOthersLayerId, LAY_OTHERS) EgtSetName(nOthersLayerId, LAY_OTHERS)
EgtSetColor(nOthersLayerId, GeomEntityColors.c3Others)
' aggiungo riferimento ' aggiungo riferimento
Dim nReferenceLayerId As Integer = EgtCreateGroup(nPartId) Dim nReferenceLayerId As Integer = EgtCreateGroup(nPartId)
EgtSetName(nReferenceLayerId, LAY_REFERENCE) EgtSetName(nReferenceLayerId, LAY_REFERENCE)
' Creo riferimento
Dim ptOrig As New Point3d(b3PrintSolid.Min())
Dim frPrintSolid As New Frame3d(ptOrig)
nFrameId = EgtCreateGeoFrame(nReferenceLayerId, frPrintSolid, GDB_RT.GLOB)
If nFrameId Then
EgtSetName(nFrameId, FRAME_PART)
EgtSetMode(nFrameId, GDB_MD.LOCKED)
End If
EgtSetInfo(nReferenceLayerId, KEY_REFERENCE, ReferenceBtn.References.BL) EgtSetInfo(nReferenceLayerId, KEY_REFERENCE, ReferenceBtn.References.BL)
' appoggio il pezzo sulla tavola ' appoggio il pezzo sulla tavola
EgtMove(nPartId, New Vector3d(0, 0, -b3PrintSolid.Min.z)) EgtMove(nPartId, New Vector3d(0, 0, -b3PrintSolid.Min.z))
@@ -728,8 +730,6 @@ Public Class GeomEntity_MenuItem
EgtSetInfo(nPartId, "PartOnTable", 1) EgtSetInfo(nPartId, "PartOnTable", 1)
Dim NewPart As New Print3dPartVM(nPartId, nPrintPartLayerId, nReferenceLayerId, nFrameId, nMachStartLayerId, nRibsLayerId, nShellNumberLayerId, nAuxSolidsLayerId, nOthersLayerId, sFilePath) Dim NewPart As New Print3dPartVM(nPartId, nPrintPartLayerId, nReferenceLayerId, nFrameId, nMachStartLayerId, nRibsLayerId, nShellNumberLayerId, nAuxSolidsLayerId, nOthersLayerId, sFilePath)
Map.refTopPanelVM.PartList.Add(NewPart) Map.refTopPanelVM.PartList.Add(NewPart)
' aggiorno riferimento
Map.refReferencePanelVM.UpdateFramePosition(NewPart)
Dim ManagePart_Part As ManagePart_Part = New ManagePart_Part(NewPart) Dim ManagePart_Part As ManagePart_Part = New ManagePart_Part(NewPart)
' elimino da posizione originale ' elimino da posizione originale
m_OrigEntity.OrigLayer.EntityList.Remove(m_OrigEntity) m_OrigEntity.OrigLayer.EntityList.Remove(m_OrigEntity)
@@ -741,10 +741,9 @@ Public Class GeomEntity_MenuItem
' Imposto flag di ricalcolo slice ' Imposto flag di ricalcolo slice
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True) EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True)
End Select End Select
' aggiorno visibilita' da check di categoria '' aggiorno visibilita' da check di categoria
Dim PrintViewlayer As ViewLayer = Map.refViewLayerManagerVM.LayerList.FirstOrDefault(Function(x) x.Type = ViewLayer.ViewLayerType.PRINT_SOLID) 'Dim PrintLayer As ViewLayer = Map.refViewLayerManagerVM.LayerList.FirstOrDefault(Function(x) x.Type = ViewLayer.ViewLayerType.PRINT_SOLID)
EgtSetStatus(m_OrigEntity.nId, If(IsNothing(PrintViewlayer.bIsVisible) OrElse PrintViewlayer.bIsVisible, GDB_ST.ON_, GDB_ST.OFF)) 'EgtSetStatus(m_OrigEntity.nId, If(IsNothing(PrintLayer.bIsVisible) OrElse PrintLayer.bIsVisible, GDB_ST.ON_, GDB_ST.OFF))
EgtDraw()
Return Return
End If End If
Select Case Map.refManagePartPanelVM.Type Select Case Map.refManagePartPanelVM.Type
@@ -764,18 +763,11 @@ Public Class GeomEntity_MenuItem
NewLayer.EntityList.Add(m_OrigEntity) NewLayer.EntityList.Add(m_OrigEntity)
' aggiorno riferimenti nell'entita' ' aggiorno riferimenti nell'entita'
m_OrigEntity.UpdateOrigLayer(NewLayer) m_OrigEntity.UpdateOrigLayer(NewLayer)
' aggiorno colore
EgtSetColor(m_OrigEntity.nId, GetColor(m_Type))
' aggiorno visibilita' da check di categoria
Dim PrintViewlayer As ViewLayer = Map.refViewLayerManagerVM.LayerList.FirstOrDefault(Function(x) x.Type = m_Type)
EgtSetStatus(m_OrigEntity.nId, If(IsNothing(PrintViewlayer.bIsVisible) OrElse PrintViewlayer.bIsVisible, GDB_ST.ON_, GDB_ST.OFF))
EgtDraw()
End If End If
End If End If
' aggiorno riferimenti nel context menu item ' aggiorno riferimenti nel context menu item
m_OrigEntity.UpdateContextMenu() m_OrigEntity.UpdateContextMenu()
Case ManagePartPanelVM.ManagePartType.MODIFY Case ManagePartPanelVM.ManagePartType.MODIFY
Dim bIsMovedRib As Boolean = False
' recupero layer da pezzo ' recupero layer da pezzo
Dim nLayerId As Integer = GDB_ID.NULL Dim nLayerId As Integer = GDB_ID.NULL
Select Case m_Type Select Case m_Type
@@ -797,20 +789,19 @@ Public Class GeomEntity_MenuItem
' elimino info vecchio layer ' elimino info vecchio layer
Select Case m_OrigEntity.OrigLayer.Type Select Case m_OrigEntity.OrigLayer.Type
Case ManagePart_Layer.LayerType.PRINT_SOLID Case ManagePart_Layer.LayerType.PRINT_SOLID
'EgtResetMark(m_OrigEntity.nId) EgtResetMark(m_OrigEntity.nId)
' se e' presente flag di spostamento a 45 gradi ' se e' presente flag di spostamento a 45 gradi
Dim nPartId As Integer = EgtGetParent(EgtGetParent(m_OrigEntity.nId)) Dim nPartId As Integer = EgtGetParent(EgtGetParent(m_OrigEntity.nId))
Dim vtMoved As Vector3d Dim vtMoved As Vector3d
If EgtGetInfo(nPartId, KEY_MOVEDPART, vtMoved) Then If EgtGetInfo(nPartId, "MovedPart", vtMoved) Then
' lo sposto e rimuovo info ' lo sposto e rimuovo info
EgtMove(m_OrigEntity.nId, -vtMoved, GDB_RT.GLOB) EgtMove(m_OrigEntity.nId, -vtMoved, GDB_RT.GLOB)
EgtRemoveInfo(nPartId, KEY_MOVEDPART) EgtRemoveInfo(nPartId, "MovedPart")
End If End If
Case ManagePart_Layer.LayerType.MACH_START Case ManagePart_Layer.LayerType.MACH_START
Case ManagePart_Layer.LayerType.RIBS Case ManagePart_Layer.LayerType.RIBS
EgtRemoveInfo(m_OrigEntity.nId, KEY_RIB_TYPE) EgtRemoveInfo(m_OrigEntity.nId, KEY_RIB_TYPE)
EgtRemoveInfo(m_OrigEntity.nId, RIB_ID) EgtRemoveInfo(m_OrigEntity.nId, RIB_ID)
bIsMovedRib = True
Case ManagePart_Layer.LayerType.SHELL_NUMBER Case ManagePart_Layer.LayerType.SHELL_NUMBER
EgtRemoveInfo(m_OrigEntity.nId, KEY_SHELLNBR_TYPE) EgtRemoveInfo(m_OrigEntity.nId, KEY_SHELLNBR_TYPE)
Case ManagePart_Layer.LayerType.AUX_SOLIDS Case ManagePart_Layer.LayerType.AUX_SOLIDS
@@ -836,7 +827,7 @@ Public Class GeomEntity_MenuItem
EgtSetName(m_OrigEntity.nId, PRINT_SOLID) EgtSetName(m_OrigEntity.nId, PRINT_SOLID)
EgtSetColor(m_OrigEntity.nId, c3Print) EgtSetColor(m_OrigEntity.nId, c3Print)
' rimuovo eventuale nota spostamento per 45 gradi ' rimuovo eventuale nota spostamento per 45 gradi
EgtRemoveInfo(m_OrigEntity.OrigLayer.OrigPart.nId, KEY_MOVEDPART) EgtRemoveInfo(m_OrigEntity.OrigLayer.OrigPart.nId, "MovedPart")
Case ManagePart_Layer.LayerType.MACH_START Case ManagePart_Layer.LayerType.MACH_START
EgtSetName(m_OrigEntity.nId, LAY_MACH_START) EgtSetName(m_OrigEntity.nId, LAY_MACH_START)
EgtSetColor(m_OrigEntity.nId, c3MachStart) EgtSetColor(m_OrigEntity.nId, c3MachStart)
@@ -845,7 +836,6 @@ Public Class GeomEntity_MenuItem
EgtSetInfo(m_OrigEntity.nId, KEY_RIB_TYPE, RibEntity.RibTypes.FROMIMPORT) EgtSetInfo(m_OrigEntity.nId, KEY_RIB_TYPE, RibEntity.RibTypes.FROMIMPORT)
EgtSetInfo(m_OrigEntity.nId, RIB_ID, RibPanelVM.GetNextRibIndex()) EgtSetInfo(m_OrigEntity.nId, RIB_ID, RibPanelVM.GetNextRibIndex())
EgtSetColor(m_OrigEntity.nId, c3Rib) EgtSetColor(m_OrigEntity.nId, c3Rib)
bIsMovedRib = True
Case ManagePart_Layer.LayerType.SHELL_NUMBER Case ManagePart_Layer.LayerType.SHELL_NUMBER
EgtSetName(m_OrigEntity.nId, LAY_SHELL_NBR) EgtSetName(m_OrigEntity.nId, LAY_SHELL_NBR)
EgtSetInfo(m_OrigEntity.nId, KEY_SHELLNBR_TYPE, ShellNumberEntity.ShellNumberTypes.FROMIMPORT) EgtSetInfo(m_OrigEntity.nId, KEY_SHELLNBR_TYPE, ShellNumberEntity.ShellNumberTypes.FROMIMPORT)
@@ -858,11 +848,6 @@ Public Class GeomEntity_MenuItem
EgtSetName(m_OrigEntity.nId, LAY_OTHERS) EgtSetName(m_OrigEntity.nId, LAY_OTHERS)
EgtSetColor(m_OrigEntity.nId, c3Others) EgtSetColor(m_OrigEntity.nId, c3Others)
End Select End Select
' se spostato un Rib, aggiorno posizione riferimento e pezzo
If bIsMovedRib Then
Map.refReferencePanelVM.UpdateFramePosition(NewPart.PrintPart)
Map.refDispositionPanelVM.UpdateZPos()
End If
EgtDraw() EgtDraw()
' aggiorno riferimenti nel context menu item ' aggiorno riferimenti nel context menu item
If bUpdateAllContextMenu Then If bUpdateAllContextMenu Then
@@ -941,8 +926,7 @@ Public Class ManagerPart_MenuItem
Select Case Map.refManagePartPanelVM.Type Select Case Map.refManagePartPanelVM.Type
Case ManagePartPanelVM.ManagePartType.IMPORT Case ManagePartPanelVM.ManagePartType.IMPORT
For Each Layer In m_OrigPart.LayerList For Each Layer In m_OrigPart.LayerList
For EntityIndex = Layer.EntityList.Count - 1 To 0 Step -1 For Each Entity In Layer.EntityList
Dim Entity As PartManager_GeomEntity = Layer.EntityList(EntityIndex)
' le rimuovo da lista entita' pezzo ' le rimuovo da lista entita' pezzo
Layer.EntityList.Remove(Entity) Layer.EntityList.Remove(Entity)
' la rimetto in lista importati ' la rimetto in lista importati
@@ -965,9 +949,7 @@ Public Class ManagerPart_MenuItem
' aggiorno riferimenti nel context menu item ' aggiorno riferimenti nel context menu item
Map.refManagePartPanelVM.UpdateAllEntityContextMenu() Map.refManagePartPanelVM.UpdateAllEntityContextMenu()
' Imposto flag di ricalcolo slice ' Imposto flag di ricalcolo slice
If Not IsNothing(Map.refTopPanelVM.SelPart) Then ' in prima importazione non c'e' alcun pezzo selezionato EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True)
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True)
End If
End Select End Select
End Sub End Sub
+44 -70
View File
@@ -21,7 +21,7 @@ Public Class Material
End Get End Get
End Property End Property
Friend Sub UpdateIsModified() Friend Sub UpdateIsModified()
m_bIsModified = m_CathegoryList.Any(Function(x) x.MaterialParamList.Any(Function(y) y.bIsModified)) OrElse bIsModifiedName m_bIsModified = m_CathegoryList.Any(Function(x) x.MaterialParamList.Any(Function(y) y.bIsModified))
NotifyPropertyChanged(NameOf(ghName)) NotifyPropertyChanged(NameOf(ghName))
End Sub End Sub
@@ -31,32 +31,23 @@ Public Class Material
Return m_nIndex Return m_nIndex
End Get End Get
End Property End Property
Friend Sub SetIndex(nValue As Integer)
m_nIndex = nValue
End Sub
Private m_sGUID As String Private m_sGUID As String
Public Property sGUID As String Public ReadOnly Property sGUID As String
Get Get
Return m_sGUID Return m_sGUID
End Get End Get
Set(value As String)
m_sGUID = value
End Set
End Property End Property
Private m_sOrigName As String = ""
Private m_sName As String Private m_sName As String
Public Property sName As String Public Property sName As String
Get Get
Return m_sName Return m_sName
End Get End Get
Set(value As String) Set(value As String)
Dim bIsModified As Boolean = m_sName <> value
m_sName = value m_sName = value
Map.refMaterialDbVM.SetNameVisibility(False) Map.refMaterialDbVM.SetNameVisibility(False)
If bIsModified Then UpdateIsModified() NotifyPropertyChanged(NameOf(ghName))
Map.refMaterialDbVM.SetIsEnabled(True)
End Set End Set
End Property End Property
Public ReadOnly Property ghName As String Public ReadOnly Property ghName As String
@@ -64,18 +55,12 @@ Public Class Material
Return m_sName & If(m_bIsModified, "*", "") Return m_sName & If(m_bIsModified, "*", "")
End Get End Get
End Property End Property
Public ReadOnly Property bIsModifiedName As Boolean
Get
Return m_sName <> m_sOrigName
End Get
End Property
' per lettura da file ' per lettura da file
Sub New(nIndex As Integer) Sub New(nIndex As Integer)
m_nIndex = nIndex m_nIndex = nIndex
ReadMaterialParamString(nIndex, MAT_GUID, "", m_sGUID) ReadMaterialParamString(nIndex, MAT_GUID, "", m_sGUID)
ReadMaterialParamString(nIndex, MAT_NAME, "", m_sName) ReadMaterialParamString(nIndex, MAT_NAME, "", m_sName)
m_sOrigName = m_sName
'EgtGetStringUtf8FromIni(nIndex, MAT_NAME, "", m_sName, sMatIniFilePath) 'EgtGetStringUtf8FromIni(nIndex, MAT_NAME, "", m_sName, sMatIniFilePath)
m_CathegoryList.Add(New MaterialCathegory(MaterialCathegory.Cathegories.GENERAL, nIndex)) m_CathegoryList.Add(New MaterialCathegory(MaterialCathegory.Cathegories.GENERAL, nIndex))
m_CathegoryList.Add(New MaterialCathegory(MaterialCathegory.Cathegories.TEMPERATURES, nIndex)) m_CathegoryList.Add(New MaterialCathegory(MaterialCathegory.Cathegories.TEMPERATURES, nIndex))
@@ -91,8 +76,7 @@ Public Class Material
Sub New() Sub New()
m_nIndex = Map.refMaterialDbVM.MaterialList.Max(Function(x) x.nIndex) + 1 m_nIndex = Map.refMaterialDbVM.MaterialList.Max(Function(x) x.nIndex) + 1
m_sGUID = Guid.NewGuid.ToString() m_sGUID = Guid.NewGuid.ToString()
m_sName = "New Material" m_sName = "New Material Param"
m_sOrigName = m_sName
Dim nCopyIndex As Integer = Map.refMaterialDbVM.SelMaterial.m_nIndex Dim nCopyIndex As Integer = Map.refMaterialDbVM.SelMaterial.m_nIndex
m_CathegoryList.Add(New MaterialCathegory(MaterialCathegory.Cathegories.GENERAL, nCopyIndex)) m_CathegoryList.Add(New MaterialCathegory(MaterialCathegory.Cathegories.GENERAL, nCopyIndex))
Dim Orig As StringMaterialParam = m_CathegoryList(0).MaterialParamList.FirstOrDefault(Function(x) x.Type = MaterialParam.Params.ORIG) Dim Orig As StringMaterialParam = m_CathegoryList(0).MaterialParamList.FirstOrDefault(Function(x) x.Type = MaterialParam.Params.ORIG)
@@ -149,16 +133,6 @@ Public Class Material
'm_dRibsLeadOutWipeDir = ReadMaterialParamDouble(m_nIndex, MAC_RIBSLEADOUTWIPEDIR, 0, CurrentMachine.sMachiningFilePath) 'm_dRibsLeadOutWipeDir = ReadMaterialParamDouble(m_nIndex, MAC_RIBSLEADOUTWIPEDIR, 0, CurrentMachine.sMachiningFilePath)
End Sub End Sub
Private Sub SaveName()
m_sOrigName = m_sName
End Sub
Private Sub ResetName()
m_sName = m_sOrigName
NotifyPropertyChanged(NameOf(ghName))
NotifyPropertyChanged(NameOf(sName))
End Sub
Friend Sub Save() Friend Sub Save()
If bIsModified Then If bIsModified Then
' salvo tutti i parametri su orig ' salvo tutti i parametri su orig
@@ -171,17 +145,15 @@ Public Class Material
End Sub End Sub
Private Sub SaveParams() Private Sub SaveParams()
SaveName()
For Each Cathegory In m_CathegoryList For Each Cathegory In m_CathegoryList
Cathegory.SaveParams() Cathegory.SaveParams()
Next Next
End Sub End Sub
Friend Sub ResetModification() Friend Sub ResetModification()
ResetName()
If bIsModified Then If bIsModified Then
' annullo le modifiche di tutti i parametri ' annullo le modifiche di tutti i parametri
ResetParams() SaveParams()
' resetto stato di modificata ' resetto stato di modificata
UpdateIsModified() UpdateIsModified()
End If End If
@@ -193,12 +165,12 @@ Public Class Material
Next Next
End Sub End Sub
Friend Sub WriteParamsOnDb(nIndex As Integer, Optional sFilePath As String = "") Friend Sub WriteParamsOnDb(nIndex As Integer)
WriteMaterialParam(nIndex, MAT_GUID, m_sGUID, sFilePath) WriteMaterialParam(nIndex, MAT_GUID, m_sGUID)
WriteMaterialParam(nIndex, MAT_NAME, m_sName, sFilePath) WriteMaterialParam(nIndex, MAT_NAME, m_sName)
' EgtWriteStringUtf8toIni(nIndex, MAT_NAME, m_sName) ' EgtWriteStringUtf8toIni(nIndex, MAT_NAME, m_sName)
For Each Cathegory In m_CathegoryList For Each Cathegory In m_CathegoryList
Cathegory.WriteParamOnDb(nIndex, sFilePath) Cathegory.WriteParamOnDb(nIndex)
Next Next
End Sub End Sub
@@ -386,9 +358,9 @@ Public Class MaterialCathegory
Next Next
End Sub End Sub
Friend Sub WriteParamOnDb(nIndex As Integer, Optional sFilePath As String = "") Friend Sub WriteParamOnDb(nIndex As Integer)
For Each Param In m_MaterialParamList For Each Param In m_MaterialParamList
Param.WriteParamOnDb(nIndex, sFilePath) Param.WriteParamOnDb(nIndex)
Next Next
End Sub End Sub
@@ -484,7 +456,7 @@ Public MustInherit Class MaterialParam
End Sub End Sub
Friend MustOverride Sub WriteParamOnDb(nIndex As Integer, Optional sFilePath As String = "") Friend MustOverride Sub WriteParamOnDb(nIndex As Integer)
Friend MustOverride Sub SaveParam() Friend MustOverride Sub SaveParam()
Friend MustOverride Sub ResetParam() Friend MustOverride Sub ResetParam()
@@ -587,7 +559,7 @@ Public Class NumericMaterialParam
m_dOrigValue = m_dValue m_dOrigValue = m_dValue
End Sub End Sub
Friend Overrides Sub WriteParamOnDb(nIndex As Integer, Optional sFilePath As String = "") Friend Overrides Sub WriteParamOnDb(nIndex As Integer)
Dim sWriteValue As String = "" Dim sWriteValue As String = ""
If m_bIsLen Then If m_bIsLen Then
sWriteValue = LenToString(m_dValue, 5) sWriteValue = LenToString(m_dValue, 5)
@@ -596,43 +568,43 @@ Public Class NumericMaterialParam
End If End If
Select Case Type Select Case Type
Case Params.T1 Case Params.T1
WriteMaterialParam(nIndex, MAT_T1, sWriteValue, sFilePath) WriteMaterialParam(nIndex, MAT_T1, sWriteValue)
Case Params.T2 Case Params.T2
WriteMaterialParam(nIndex, MAT_T2, sWriteValue, sFilePath) WriteMaterialParam(nIndex, MAT_T2, sWriteValue)
Case Params.T3 Case Params.T3
WriteMaterialParam(nIndex, MAT_T3, sWriteValue, sFilePath) WriteMaterialParam(nIndex, MAT_T3, sWriteValue)
Case Params.T4 Case Params.T4
WriteMaterialParam(nIndex, MAT_T4, sWriteValue, sFilePath) WriteMaterialParam(nIndex, MAT_T4, sWriteValue)
Case Params.T5 Case Params.T5
WriteMaterialParam(nIndex, MAT_T5, sWriteValue, sFilePath) WriteMaterialParam(nIndex, MAT_T5, sWriteValue)
Case Params.K_EXTRUSION Case Params.K_EXTRUSION
WriteMaterialParam(nIndex, MAT_KEXTRUSION, sWriteValue, sFilePath) WriteMaterialParam(nIndex, MAT_KEXTRUSION, sWriteValue)
Case Params.K_LAY_TIME Case Params.K_LAY_TIME
WriteMaterialParam(nIndex, MAT_KLAYERTIME, sWriteValue, sFilePath) WriteMaterialParam(nIndex, MAT_KLAYERTIME, sWriteValue)
Case Params.C1 Case Params.C1
WriteMaterialParam(nIndex, MAT_C1, sWriteValue, sFilePath) WriteMaterialParam(nIndex, MAT_C1, sWriteValue)
Case Params.C2 Case Params.C2
WriteMaterialParam(nIndex, MAT_C2, sWriteValue, sFilePath) WriteMaterialParam(nIndex, MAT_C2, sWriteValue)
Case Params.DENSITY Case Params.DENSITY
WriteMaterialParam(nIndex, MAT_DENSITY, sWriteValue, sFilePath) WriteMaterialParam(nIndex, MAT_DENSITY, sWriteValue)
Case Params.AMAX Case Params.AMAX
WriteMaterialParam(nIndex, MAT_AMAX, sWriteValue, sFilePath) WriteMaterialParam(nIndex, MAT_AMAX, sWriteValue)
Case Params.ATRG Case Params.ATRG
WriteMaterialParam(nIndex, MAT_ATRG, sWriteValue, sFilePath) WriteMaterialParam(nIndex, MAT_ATRG, sWriteValue)
Case Params.AMIN Case Params.AMIN
WriteMaterialParam(nIndex, MAT_AMIN, sWriteValue, sFilePath) WriteMaterialParam(nIndex, MAT_AMIN, sWriteValue)
Case Params.BMAX Case Params.BMAX
WriteMaterialParam(nIndex, MAT_BMAX, sWriteValue, sFilePath) WriteMaterialParam(nIndex, MAT_BMAX, sWriteValue)
Case Params.BTRG Case Params.BTRG
WriteMaterialParam(nIndex, MAT_BTRG, sWriteValue, sFilePath) WriteMaterialParam(nIndex, MAT_BTRG, sWriteValue)
Case Params.BMIN Case Params.BMIN
WriteMaterialParam(nIndex, MAT_BMIN, sWriteValue, sFilePath) WriteMaterialParam(nIndex, MAT_BMIN, sWriteValue)
Case Params.KW Case Params.KW
WriteMaterialParam(nIndex, MAT_KW, sWriteValue, sFilePath) WriteMaterialParam(nIndex, MAT_KW, sWriteValue)
Case Params.KZ Case Params.KZ
WriteMaterialParam(nIndex, MAT_KZ, sWriteValue, sFilePath) WriteMaterialParam(nIndex, MAT_KZ, sWriteValue)
Case Params.KN Case Params.KN
WriteMaterialParam(nIndex, MAT_KN, sWriteValue, sFilePath) WriteMaterialParam(nIndex, MAT_KN, sWriteValue)
End Select End Select
End Sub End Sub
@@ -649,6 +621,8 @@ End Class
Public Class StringMaterialParam Public Class StringMaterialParam
Inherits MaterialParam Inherits MaterialParam
Public Const DEFAULT_MATERIAL As String = "***"
Private m_sGUID As String Private m_sGUID As String
Public Property sGUID As String Public Property sGUID As String
Get Get
@@ -713,9 +687,9 @@ Public Class StringMaterialParam
Case Params.ORIG Case Params.ORIG
Dim sOrigGUID As String = "" Dim sOrigGUID As String = ""
ReadMaterialParamString(nIndex, MAT_ORIG, "", sOrigGUID) ReadMaterialParamString(nIndex, MAT_ORIG, "", sOrigGUID)
If sOrigGUID = ORIG_MATERIAL Then If sOrigGUID = DEFAULT_MATERIAL Then
m_sGUID = ORIG_MATERIAL m_sGUID = DEFAULT_MATERIAL
m_sValue = ORIG_MATERIAL m_sValue = DEFAULT_MATERIAL
' se livello alto, lo visualizzo comunque ' se livello alto, lo visualizzo comunque
If Map.refMainWindowVM.MainWindowM.nUserLevel >= 5 Then If Map.refMainWindowVM.MainWindowM.nUserLevel >= 5 Then
m_String_Visibility = Visibility.Visible m_String_Visibility = Visibility.Visible
@@ -740,10 +714,10 @@ Public Class StringMaterialParam
m_sOrigValue = m_sValue m_sOrigValue = m_sValue
End Sub End Sub
Friend Overrides Sub WriteParamOnDb(nIndex As Integer, Optional sFilePath As String = "") Friend Overrides Sub WriteParamOnDb(nIndex As Integer)
Select Case Type Select Case Type
Case Params.ORIG Case Params.ORIG
WriteMaterialParam(nIndex, MAT_ORIG, m_sGUID, sFilePath) WriteMaterialParam(nIndex, MAT_ORIG, m_sGUID)
End Select End Select
End Sub End Sub
@@ -770,8 +744,8 @@ Public Class StringMaterialParam
Public Sub Original() Public Sub Original()
If MessageBox.Show("Are you sure you want to set this material as original?", "Original material confirmation", MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then If MessageBox.Show("Are you sure you want to set this material as original?", "Original material confirmation", MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then
m_sGUID = ORIG_MATERIAL m_sGUID = DEFAULT_MATERIAL
m_sValue = ORIG_MATERIAL m_sValue = DEFAULT_MATERIAL
NotifyPropertyChanged(NameOf(sValue)) NotifyPropertyChanged(NameOf(sValue))
End If End If
End Sub End Sub
@@ -827,10 +801,10 @@ Public Class ComboMaterialParam
m_OrigSelValue = m_SelValue m_OrigSelValue = m_SelValue
End Sub End Sub
Friend Overrides Sub WriteParamOnDb(nIndex As Integer, Optional sFilePath As String = "") Friend Overrides Sub WriteParamOnDb(nIndex As Integer)
Select Case Type Select Case Type
'Case Params.STRANDORDER 'Case Params.STRANDORDER
' WriteMaterialParam(nIndex, MAC_STRANDORDER, m_SelValue.Id, sFilePath) ' WriteMaterialParam(nIndex, MAC_STRANDORDER, m_SelValue.Id)
End Select End Select
End Sub End Sub
@@ -878,7 +852,7 @@ Public Class CheckMaterialParam
m_bOrigValue = m_bValue m_bOrigValue = m_bValue
End Sub End Sub
Friend Overrides Sub WriteParamOnDb(nIndex As Integer, Optional sFilePath As String = "") Friend Overrides Sub WriteParamOnDb(nIndex As Integer)
Select Case Type Select Case Type
End Select End Select
End Sub End Sub
+47 -50
View File
@@ -13,70 +13,39 @@
<RowDefinition Height="1*"/> <RowDefinition Height="1*"/>
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Grid> <UniformGrid Rows="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Button Content="Copy" <Button Content="Copy"
Command="{Binding Copy_Command}" Command="{Binding Copy_Command}"
IsEnabled="{Binding IsEnabled}"
Style="{StaticResource ToolBar_TextButton}"/> Style="{StaticResource ToolBar_TextButton}"/>
<Button Grid.Column="1" <Button Content="Save"
Content="Save"
Command="{Binding Save_Command}" Command="{Binding Save_Command}"
IsEnabled="{Binding IsEnabled}"
Style="{StaticResource ToolBar_TextButton}"/> Style="{StaticResource ToolBar_TextButton}"/>
<Button Grid.Column="2" Content="Delete" <Button Content="Delete"
Command="{Binding Delete_Command}" Command="{Binding Delete_Command}"
IsEnabled="{Binding Delete_IsEnabled}" IsEnabled="{Binding Delete_IsEnabled}"
Style="{StaticResource ToolBar_TextButton}"/> Style="{StaticResource ToolBar_TextButton}"/>
<Button Grid.Column="3" </UniformGrid>
Command="{Binding Import_Command}" <ComboBox Grid.Row="1"
ToolTip="{Binding ImportToolTip}" Name="MaterialCombo"
IsEnabled="{Binding ImpExp_IsEnabled}" ItemsSource="{Binding MaterialList}"
Style="{StaticResource ToolBar_Button}"> SelectedItem="{Binding SelMaterial}"
<Image Source="/Resources/MachiningDB/Import.png" Stretch="Uniform"/> DisplayMemberPath="ghName"/>
</Button> <Grid Grid.Row="2"
<Button Grid.Column="4" Visibility="{Binding Name_Visibility}">
Command="{Binding Export_Command}"
ToolTip="{Binding ImportToolTip}"
IsEnabled="{Binding ImpExp_IsEnabled}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/MachiningDB/Export.png" Stretch="Uniform"/>
</Button>
</Grid>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<ComboBox Grid.Row="1" <TextBlock Text="{Binding Name_Msg}"/>
Name="MaterialCombo" <EgtWPFLib5:EgtTextBox Grid.Column="1"
ItemsSource="{Binding MaterialList}" Text="{Binding SelectedItem.sName, ElementName=MaterialCombo, UpdateSourceTrigger=Explicit}"/>
SelectedItem="{Binding SelMaterial}"
DisplayMemberPath="ghName"
Visibility="{Binding Combo_Visibility}"
Style="{StaticResource FeatureComboBox}"/>
<EgtWPFLib5:EgtTextBox Text="{Binding SelectedItem.sName, ElementName=MaterialCombo, UpdateSourceTrigger=Explicit}"
ExplicitUpdateSource="EnterKeyPressOrLostFocus"
IsExplicitFocused="{Binding UserShouldEditValueNow}"
Visibility="{Binding Name_Visibility}"/>
<Button Grid.Column="1"
Command="{Binding EditName_Command}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/TopPanel/Edit.png"/>
</Button>
</Grid> </Grid>
<ScrollViewer Grid.Row="2" <ScrollViewer Grid.Row="3"
VerticalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Disabled"> HorizontalScrollBarVisibility="Disabled">
<ItemsControl Grid.Row="1" <ItemsControl Grid.Row="1"
ItemsSource="{Binding SelectedItem.CathegoryList, ElementName=MaterialCombo}" ItemsSource="{Binding SelectedItem.CathegoryList, ElementName=MaterialCombo}">
IsEnabled="{Binding IsEnabled}">
<ItemsControl.ItemsPanel> <ItemsControl.ItemsPanel>
<ItemsPanelTemplate> <ItemsPanelTemplate>
<StackPanel Orientation="Vertical"/> <StackPanel Orientation="Vertical"/>
@@ -111,6 +80,15 @@
<TextBlock Text="{Binding sName}"/> <TextBlock Text="{Binding sName}"/>
<TextBox Grid.Column="1" <TextBox Grid.Column="1"
Text="{Binding dValue}"/> Text="{Binding dValue}"/>
<!--<Button Grid.Column="2"
Content="R"
Command="{Binding ResetParam_Command}"
CommandParameter="dCurrStrandH"
IsEnabled="{Binding bCurrStrandH_IsModified}"
VerticalContentAlignment="Center"
HorizontalContentAlignment="Center"
Margin="5,0,0,0"
Style="{StaticResource ToolBar_SmallButton}"/>-->
</Grid> </Grid>
</DataTemplate> </DataTemplate>
<DataTemplate DataType="{x:Type PrintApp:StringMaterialParam}"> <DataTemplate DataType="{x:Type PrintApp:StringMaterialParam}">
@@ -139,12 +117,22 @@
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/> <ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
<!--<ColumnDefinition Width="Auto"/>-->
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="{Binding sName}"/> <TextBlock Text="{Binding sName}"/>
<ComboBox Grid.Column="1" <ComboBox Grid.Column="1"
ItemsSource="{Binding ValueList}" ItemsSource="{Binding ValueList}"
SelectedItem="{Binding SelValue}" SelectedItem="{Binding SelValue}"
HorizontalAlignment="Stretch"/> HorizontalAlignment="Stretch"/>
<!--<Button Grid.Column="1"
Content="R"
Command="{Binding ResetParam_Command}"
CommandParameter="dCurrStrandH"
IsEnabled="{Binding bCurrStrandH_IsModified}"
VerticalContentAlignment="Center"
HorizontalContentAlignment="Center"
Margin="5,0,0,0"
Style="{StaticResource ToolBar_SmallButton}"/>-->
</Grid> </Grid>
</DataTemplate> </DataTemplate>
<DataTemplate DataType="{x:Type PrintApp:CheckMaterialParam}"> <DataTemplate DataType="{x:Type PrintApp:CheckMaterialParam}">
@@ -152,12 +140,22 @@
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/> <ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
<!--<ColumnDefinition Width="Auto"/>-->
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="{Binding sName}"/> <TextBlock Text="{Binding sName}"/>
<CheckBox Grid.Column="1" <CheckBox Grid.Column="1"
IsChecked="{Binding bValue}" IsChecked="{Binding bValue}"
HorizontalAlignment="Center" HorizontalAlignment="Center"
VerticalAlignment="Center"/> VerticalAlignment="Center"/>
<!--<Button Grid.Column="1"
Content="R"
Command="{Binding ResetParam_Command}"
CommandParameter="dCurrStrandH"
IsEnabled="{Binding bCurrStrandH_IsModified}"
VerticalContentAlignment="Center"
HorizontalContentAlignment="Center"
Margin="5,0,0,0"
Style="{StaticResource ToolBar_SmallButton}"/>-->
</Grid> </Grid>
</DataTemplate> </DataTemplate>
</ItemsControl.Resources> </ItemsControl.Resources>
@@ -167,10 +165,9 @@
</ItemsControl.ItemTemplate> </ItemsControl.ItemTemplate>
</ItemsControl> </ItemsControl>
</ScrollViewer> </ScrollViewer>
<UniformGrid Grid.Row="3" Rows="1"> <UniformGrid Grid.Row="4" Rows="1">
<Button Content="Ok" <Button Content="Ok"
Command="{Binding Ok_Command}" Command="{Binding Ok_Command}"
IsEnabled="{Binding IsEnabled}"
Style="{StaticResource ToolBar_TextButton}"/> Style="{StaticResource ToolBar_TextButton}"/>
</UniformGrid> </UniformGrid>
</Grid> </Grid>
+15 -151
View File
@@ -60,13 +60,10 @@ Public Class MaterialDbVM
Return m_Name_Visibility Return m_Name_Visibility
End Get End Get
End Property End Property
Friend Sub SetNameVisibility(bValue As Boolean)
Private m_Combo_Visibility As Visibility = Visibility.Visible m_Name_Visibility = If(bValue, Visibility.Visible, Visibility.Collapsed)
Public ReadOnly Property Combo_Visibility As Visibility NotifyPropertyChanged(NameOf(Name_Visibility))
Get End Sub
Return m_Combo_Visibility
End Get
End Property
' variabile che indica se una qualunque lavorazione e' stata modificata ' variabile che indica se una qualunque lavorazione e' stata modificata
Private m_bIsModified As Boolean Private m_bIsModified As Boolean
@@ -79,22 +76,10 @@ Public Class MaterialDbVM
m_bIsModified = value m_bIsModified = value
End Sub End Sub
Private m_IsEnabled As Boolean = True
Public ReadOnly Property IsEnabled As Boolean
Get
Return m_IsEnabled
End Get
End Property
Friend Sub SetIsEnabled(value As Boolean)
m_IsEnabled = value
NotifyPropertyChanged(NameOf(IsEnabled))
NotifyPropertyChanged(NameOf(Delete_IsEnabled))
End Sub
Private m_Delete_IsEnabled As Boolean = True Private m_Delete_IsEnabled As Boolean = True
Public ReadOnly Property Delete_IsEnabled As Boolean Public ReadOnly Property Delete_IsEnabled As Boolean
Get Get
Return m_IsEnabled AndAlso m_Delete_IsEnabled Return m_Delete_IsEnabled
End Get End Get
End Property End Property
Friend Sub SetDeleteIsEnabled(value As Boolean) Friend Sub SetDeleteIsEnabled(value As Boolean)
@@ -106,36 +91,11 @@ Public Class MaterialDbVM
NotifyPropertyChanged(NameOf(Delete_IsEnabled)) NotifyPropertyChanged(NameOf(Delete_IsEnabled))
End Sub End Sub
Private m_UserShouldEditValueNow As Boolean = False
Public Property UserShouldEditValueNow As Boolean
Get
Return m_UserShouldEditValueNow
End Get
Set(value As Boolean)
m_UserShouldEditValueNow = value
End Set
End Property
Friend Sub SetUserShouldEditValueNow()
m_UserShouldEditValueNow = True
NotifyPropertyChanged(NameOf(UserShouldEditValueNow))
m_UserShouldEditValueNow = False
NotifyPropertyChanged(NameOf(UserShouldEditValueNow))
End Sub
Public ReadOnly Property ImpExp_IsEnabled As Boolean
Get
Return m_IsEnabled AndAlso (IsNothing(m_SelMaterial) OrElse Not m_SelMaterial.bIsModified)
End Get
End Property
' Definizione comandi ' Definizione comandi
Private m_cmdOk As ICommand Private m_cmdOk As ICommand
Private m_cmdCopy As ICommand Private m_cmdCopy As ICommand
Private m_cmdSave As ICommand Private m_cmdSave As ICommand
Private m_cmdDelete As ICommand Private m_cmdDelete As ICommand
Private m_cmdEditName As ICommand
Private m_cmdImport As ICommand
Private m_cmdExport As ICommand
#End Region ' FIELDS & PROPERTIES #End Region ' FIELDS & PROPERTIES
@@ -173,14 +133,6 @@ Public Class MaterialDbVM
End If End If
End Sub End Sub
Friend Sub SetNameVisibility(bValue As Boolean)
m_Name_Visibility = If(bValue, Visibility.Visible, Visibility.Collapsed)
m_Combo_Visibility = If(Not bValue, Visibility.Visible, Visibility.Collapsed)
NotifyPropertyChanged(NameOf(Name_Visibility))
NotifyPropertyChanged(NameOf(Combo_Visibility))
If bValue Then SetUserShouldEditValueNow()
End Sub
Private Function SelMaterialIsOriginal() As Boolean Private Function SelMaterialIsOriginal() As Boolean
If IsNothing(m_SelMaterial) Then Return False If IsNothing(m_SelMaterial) Then Return False
' verifico abilitazione delete ' verifico abilitazione delete
@@ -188,7 +140,7 @@ Public Class MaterialDbVM
If Not IsNothing(General) Then If Not IsNothing(General) Then
Dim Original As MaterialParam = General.MaterialParamList.FirstOrDefault(Function(x) x.Type = MaterialParam.Params.ORIG) Dim Original As MaterialParam = General.MaterialParamList.FirstOrDefault(Function(x) x.Type = MaterialParam.Params.ORIG)
If Not IsNothing(Original) Then If Not IsNothing(Original) Then
If DirectCast(Original, StringMaterialParam).sValue = ORIG_MATERIAL Then If DirectCast(Original, StringMaterialParam).sValue = StringMaterialParam.DEFAULT_MATERIAL Then
Return True Return True
End If End If
End If End If
@@ -224,7 +176,7 @@ Public Class MaterialDbVM
End Select End Select
End If End If
If m_bIsModified Then If m_bIsModified Then
Dim sBakMatIniFilePath As String = Path.ChangeExtension(CurrentMachine.sMaterialFilePath, ".bak") Dim sBakMatIniFilePath As String = Path.ChangeExtension(CurrentMachine.sMaterialsFilePath, ".bak")
If File.Exists(sBakMatIniFilePath) Then If File.Exists(sBakMatIniFilePath) Then
Try Try
' cambio estensione in bak a file Db vecchio ' cambio estensione in bak a file Db vecchio
@@ -232,24 +184,24 @@ Public Class MaterialDbVM
Catch ex As Exception Catch ex As Exception
End Try End Try
End If End If
If File.Exists(CurrentMachine.sMaterialFilePath) Then If File.Exists(CurrentMachine.sMaterialsFilePath) Then
Try Try
' cambio estensione in bak a file Db vecchio ' cambio estensione in bak a file Db vecchio
File.Move(CurrentMachine.sMaterialFilePath, sBakMatIniFilePath) File.Move(CurrentMachine.sMaterialsFilePath, sBakMatIniFilePath)
Catch ex As Exception Catch ex As Exception
End Try End Try
End If End If
' se ancora esiste lo elimino ' se ancora esiste lo elimino
If File.Exists(CurrentMachine.sMaterialFilePath) Then If File.Exists(CurrentMachine.sMaterialsFilePath) Then
Try Try
File.Delete(CurrentMachine.sMaterialFilePath) File.Delete(CurrentMachine.sMaterialsFilePath)
Catch ex As Exception Catch ex As Exception
End Try End Try
End If End If
' creo nuovo file ' creo nuovo file
If Not File.Exists(CurrentMachine.sMaterialFilePath) Then If Not File.Exists(CurrentMachine.sMaterialsFilePath) Then
Try Try
File.WriteAllLines(CurrentMachine.sMaterialFilePath, {"; Commento per evitare BOM con UTF-8"}) File.WriteAllLines(CurrentMachine.sMaterialsFilePath, {"; Commento per evitare BOM con UTF-8"})
Catch ex As Exception Catch ex As Exception
End Try End Try
End If End If
@@ -339,28 +291,12 @@ Public Class MaterialDbVM
End Property End Property
Public Sub Delete() Public Sub Delete()
Dim sCheckMessage As String = "Are you sure you want to delete selected material?"
' se materiale originale, esco ' se materiale originale, esco
If SelMaterialIsOriginal() Then If SelMaterialIsOriginal() Then Return
If Map.refMainWindowVM.MainWindowM.nUserLevel >= 5 Then
If MessageBox.Show("Trying to delete an Original Material! Are you sure you want to delete it?", "", MessageBoxButton.YesNo, MessageBoxImage.Warning) <> MessageBoxResult.Yes Then
Return
End If
sCheckMessage = "Trying to delete an Original Material! Are you ABSOLUTELY sure you want to delete it?"
Else
MessageBox.Show("Original material impossible to delete!")
Return
End If
End If
' chiedo conferma ' chiedo conferma
Select Case MessageBox.Show(sCheckMessage, "Warning", MessageBoxButton.YesNo, MessageBoxImage.Warning) Select Case MessageBox.Show("Are you sure you want to delete selected material?", "Warning", MessageBoxButton.YesNo, MessageBoxImage.Warning)
Case MessageBoxResult.Yes Case MessageBoxResult.Yes
m_MaterialList.Remove(m_SelMaterial) m_MaterialList.Remove(m_SelMaterial)
SetIsModified(True)
If m_MaterialList.Count > 0 Then
SelMaterial = m_MaterialList(0)
NotifyPropertyChanged(NameOf(SelMaterial))
End If
' segno Db come modificato ' segno Db come modificato
Map.refMaterialDbVM.SetIsModified(True) Map.refMaterialDbVM.SetIsModified(True)
Case MessageBoxResult.No Case MessageBoxResult.No
@@ -370,78 +306,6 @@ Public Class MaterialDbVM
#End Region ' Delete #End Region ' Delete
#Region "EditName"
Public ReadOnly Property EditName_Command As ICommand
Get
If m_cmdEditName Is Nothing Then
m_cmdEditName = New Command(AddressOf EditName)
End If
Return m_cmdEditName
End Get
End Property
Public Sub EditName()
If IsNothing(m_SelMaterial) Then Return
SetNameVisibility(True)
SetIsEnabled(False)
End Sub
#End Region ' EditName
#Region "Import"
Public ReadOnly Property Import_Command As ICommand
Get
If m_cmdImport Is Nothing Then
m_cmdImport = New Command(AddressOf Import)
End If
Return m_cmdImport
End Get
End Property
Public Sub Import()
' chiedo il nome del file .data da aprire
Dim OpenFileDlg As New System.Windows.Forms.OpenFileDialog() With {.Title = EgtMsg(31451) & " " & EgtMsg(31452),
.Filter = "Material file data (*" & ImportExportMachiningPanelVM.MaterialDataExtension & ")|*" & ImportExportMachiningPanelVM.MaterialDataExtension &
"|Original Material file data (*" & ImportExportMachiningPanelVM.OriginalMaterialDataExtension & ")|*" & ImportExportMachiningPanelVM.OriginalMaterialDataExtension &
"|All Material file data (*" & ImportExportMachiningPanelVM.MaterialDataExtension & "," & ImportExportMachiningPanelVM.OriginalMaterialDataExtension & ")|*" &
ImportExportMachiningPanelVM.MaterialDataExtension & ";*" & ImportExportMachiningPanelVM.OriginalMaterialDataExtension,
.FilterIndex = 3,
.FileName = String.Empty}
If OpenFileDlg.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then Return
Dim ImportWindowVM As New ImportExportMachiningPanelVM(ImportExportMachiningPanelVM.WindowTypeEnum.MATERIAL, ImportExportMachiningPanelVM.WindowModeEnum.IMPORT, OpenFileDlg.FileName)
If ImportWindowVM.WindowMode <> ImportExportMachiningPanelVM.WindowModeEnum.IMPORT_ORIG Then
Dim ImportWindowV As New ImportExportMachiningPanelV(Application.Current.MainWindow, ImportWindowVM)
ImportWindowV.ShowDialog()
End If
End Sub
#End Region ' Import
#Region "Export"
Public ReadOnly Property Export_Command As ICommand
Get
If m_cmdExport Is Nothing Then
m_cmdExport = New Command(AddressOf Export)
End If
Return m_cmdExport
End Get
End Property
Public Sub Export()
Dim ExportMode As ImportExportMachiningPanelVM.WindowModeEnum = ImportExportMachiningPanelVM.WindowModeEnum.EXPORT
If Map.refMainWindowVM.MainWindowM.nUserLevel >= 5 AndAlso (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift Then
ExportMode = ImportExportMachiningPanelVM.WindowModeEnum.EXPORT_ORIG
End If
Dim ExportWindowVM As New ImportExportMachiningPanelVM(ImportExportMachiningPanelVM.WindowTypeEnum.MATERIAL, ExportMode)
Dim ExportWindowV As New ImportExportMachiningPanelV(Application.Current.MainWindow, ExportWindowVM)
ExportWindowV.ShowDialog()
End Sub
#End Region ' Export
#End Region ' COMMANDS #End Region ' COMMANDS
End Class End Class
+2 -2
View File
@@ -70,5 +70,5 @@ Imports System.Windows
' by using the '*' as shown below: ' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.5.2.2")> <Assembly: AssemblyVersion("2.5.1.1")>
<Assembly: AssemblyFileVersion("2.5.2.2")> <Assembly: AssemblyFileVersion("2.5.1.1")>
+5 -6
View File
@@ -1162,12 +1162,11 @@ Public Class LayerColor
Public Enum LayerType As Integer Public Enum LayerType As Integer
PRINTPART = 1 PRINTPART = 1
'REFERENCE = 2 RIBS = 2
MACHSTART = 3 SHELLNUMBERS = 3
RIBS = 4 AUXSOLIDS = 4
SHELLNUMBERS = 5 MACHSTART = 5
AUXSOLIDS = 6 OTHERS = 6
OTHERS = 7
End Enum End Enum
Private m_Type As LayerType Private m_Type As LayerType
+6
View File
@@ -65,6 +65,12 @@
Style="{StaticResource ToolBar_Button}"> Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/ProjectManager/Options.png" Height="22" /> <Image Source="/Resources/ProjectManager/Options.png" Height="22" />
</Button> </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}" <Button Command="{Binding SendFeedbackCommand}"
Width="30" Width="30"
ToolTip="{Binding SendFeedbackToolTip}" ToolTip="{Binding SendFeedbackToolTip}"
+27
View File
@@ -62,6 +62,7 @@ Public Class ProjManagerVM
Private m_cmdImport As ICommand Private m_cmdImport As ICommand
Private m_cmdExport As ICommand Private m_cmdExport As ICommand
Private m_cmdOptions As ICommand Private m_cmdOptions As ICommand
Private m_cmdHelp As ICommand
Private m_cmdSendFeedback As ICommand Private m_cmdSendFeedback As ICommand
@@ -369,6 +370,32 @@ Public Class ProjManagerVM
#End Region ' Options #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" #Region "SendFeedback"
''' <summary> ''' <summary>
+19 -26
View File
@@ -30,7 +30,6 @@ Public Class ReferencePanelVM
End Get End Get
Set(value As ReferenceBtn) Set(value As ReferenceBtn)
m_SelReference = value.Type m_SelReference = value.Type
EgtSetInfo(Map.refTopPanelVM.SelPart.nReferenceLayerId, KEY_REFERENCE, value.Type)
UpdateFramePosition() UpdateFramePosition()
End Set End Set
End Property End Property
@@ -43,7 +42,6 @@ Public Class ReferencePanelVM
If value Then If value Then
m_SelReference = ReferenceBtn.References.FROM_IMPORT m_SelReference = ReferenceBtn.References.FROM_IMPORT
NotifyPropertyChanged(NameOf(ghSelReference)) NotifyPropertyChanged(NameOf(ghSelReference))
EgtSetInfo(Map.refTopPanelVM.SelPart.nReferenceLayerId, KEY_REFERENCE, ReferenceBtn.References.FROM_IMPORT)
UpdateFramePosition() UpdateFramePosition()
End If End If
End Set End Set
@@ -70,51 +68,45 @@ Public Class ReferencePanelVM
End Sub End Sub
Friend Sub UpdateFramePosition(Optional SelPart As Print3dPartVM = Nothing) Friend Sub UpdateFramePosition(Optional SelPart As Print3dPartVM = Nothing)
Dim SelReference As Integer = ReferenceBtn.References.BL If IsNothing(SelPart) Then SelPart = Map.refTopPanelVM.SelPart
If IsNothing(SelPart) Then
SelPart = Map.refTopPanelVM.SelPart
End If
EgtGetInfo(SelPart.nReferenceLayerId, KEY_REFERENCE, SelReference)
' elimino precedente ' elimino precedente
EgtEmptyGroup(SelPart.nReferenceLayerId) EgtEmptyGroup(SelPart.nReferenceLayerId)
' Creo riferimento ' Creo riferimento
Dim frPrintSolid As New Frame3d() Dim frPrintSolid As New Frame3d()
If SelReference = ReferenceBtn.References.FROM_IMPORT Then If m_SelReference = ReferenceBtn.References.FROM_IMPORT Then
EgtGetGlobFrame(SelPart.nPrintSolidId, frPrintSolid) EgtGetGlobFrame(SelPart.nPrintSolidId, frPrintSolid)
frPrintSolid.Setup(New Point3d(frPrintSolid.Orig.x, frPrintSolid.Orig.y, 0)) frPrintSolid.Setup(New Point3d(frPrintSolid.Orig.x, frPrintSolid.Orig.y, 0))
Else Else
Dim b3ToBePrintSolid As BBox3d = Map.refDispositionPanelVM.GetSolidForReferenceBBox(SelPart) Dim b3PrintSolid As New BBox3d
EgtGetBBoxGlob(SelPart.nPrintSolidId, GDB_BB.STANDARD, b3PrintSolid)
' Creo riferimento ' Creo riferimento
Dim ptOrig As New Point3d(b3ToBePrintSolid.Min()) Dim ptOrig As New Point3d(b3PrintSolid.Min())
Select Case SelReference Select Case m_SelReference
Case ReferenceBtn.References.TL Case ReferenceBtn.References.TL
ptOrig += b3ToBePrintSolid.DimY() * Vector3d.Y_AX ptOrig += b3PrintSolid.DimY() * Vector3d.Y_AX
Case ReferenceBtn.References.TR Case ReferenceBtn.References.TR
ptOrig += b3ToBePrintSolid.DimY() * Vector3d.Y_AX + b3ToBePrintSolid.DimX() * Vector3d.X_AX ptOrig += b3PrintSolid.DimY() * Vector3d.Y_AX + b3PrintSolid.DimX() * Vector3d.X_AX
Case ReferenceBtn.References.BL Case ReferenceBtn.References.BL
Case ReferenceBtn.References.BR Case ReferenceBtn.References.BR
ptOrig += b3ToBePrintSolid.DimX() * Vector3d.X_AX ptOrig += b3PrintSolid.DimX() * Vector3d.X_AX
Case ReferenceBtn.References.TC Case ReferenceBtn.References.TC
ptOrig += b3ToBePrintSolid.DimY() * Vector3d.Y_AX + b3ToBePrintSolid.DimX() / 2 * Vector3d.X_AX ptOrig += b3PrintSolid.DimY() * Vector3d.Y_AX + b3PrintSolid.DimX() / 2 * Vector3d.X_AX
Case ReferenceBtn.References.ML Case ReferenceBtn.References.ML
ptOrig += b3ToBePrintSolid.DimY() / 2 * Vector3d.Y_AX ptOrig += b3PrintSolid.DimY() / 2 * Vector3d.Y_AX
Case ReferenceBtn.References.MR Case ReferenceBtn.References.MR
ptOrig += b3ToBePrintSolid.DimY() / 2 * Vector3d.Y_AX + b3ToBePrintSolid.DimX() * Vector3d.X_AX ptOrig += b3PrintSolid.DimY() / 2 * Vector3d.Y_AX + b3PrintSolid.DimX() * Vector3d.X_AX
Case ReferenceBtn.References.TC Case ReferenceBtn.References.TC
ptOrig += b3ToBePrintSolid.DimY() * Vector3d.Y_AX + b3ToBePrintSolid.DimX() / 2 * Vector3d.X_AX ptOrig += b3PrintSolid.DimY() * Vector3d.Y_AX + b3PrintSolid.DimX() / 2 * Vector3d.X_AX
Case ReferenceBtn.References.MR Case ReferenceBtn.References.MR
ptOrig += b3ToBePrintSolid.DimY() / 2 * Vector3d.Y_AX + b3ToBePrintSolid.DimX() * Vector3d.X_AX ptOrig += b3PrintSolid.DimY() / 2 * Vector3d.Y_AX + b3PrintSolid.DimX() * Vector3d.X_AX
Case ReferenceBtn.References.BC Case ReferenceBtn.References.BC
ptOrig += b3ToBePrintSolid.DimX() / 2 * Vector3d.X_AX ptOrig += b3PrintSolid.DimX() / 2 * Vector3d.X_AX
Case ReferenceBtn.References.MC Case ReferenceBtn.References.MC
ptOrig += b3ToBePrintSolid.DimY() / 2 * Vector3d.Y_AX + b3ToBePrintSolid.DimX() / 2 * Vector3d.X_AX ptOrig += b3PrintSolid.DimY() / 2 * Vector3d.Y_AX + b3PrintSolid.DimX() / 2 * Vector3d.X_AX
End Select End Select
Dim vtMovedPart As Vector3d Dim vtMovedPart As Vector3d
If EgtGetInfo(SelPart.nPartId, KEY_MOVEDPART, vtMovedPart) Then EgtGetInfo(SelPart.nPartId, "MovedPart", vtMovedPart)
ptOrig = ptOrig - vtMovedPart ptOrig = ptOrig - vtMovedPart
ElseIf EgtGetInfo(SelPart.nPartId, KEY_MOVEDPART2, vtMovedPart) Then
ptOrig = ptOrig - vtMovedPart
End If
frPrintSolid = New Frame3d(ptOrig) frPrintSolid = New Frame3d(ptOrig)
End If End If
Dim nFrameId As Integer = EgtCreateGeoFrame(SelPart.nReferenceLayerId, frPrintSolid, GDB_RT.GLOB) Dim nFrameId As Integer = EgtCreateGeoFrame(SelPart.nReferenceLayerId, frPrintSolid, GDB_RT.GLOB)
@@ -123,6 +115,7 @@ Public Class ReferencePanelVM
EgtSetMode(nFrameId, GDB_MD.LOCKED) EgtSetMode(nFrameId, GDB_MD.LOCKED)
SelPart.UpdateReferenceId(nFrameId) SelPart.UpdateReferenceId(nFrameId)
End If End If
EgtSetInfo(SelPart.nReferenceLayerId, KEY_REFERENCE, m_SelReference)
Map.refDispositionPanelVM.RefreshPos() Map.refDispositionPanelVM.RefreshPos()
EgtDraw() EgtDraw()
End Sub End Sub
+756
View File
@@ -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" >&nbsp;
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="&#10;&#9;&#9;&#9;position: relative;&#10;&#9;&#9;&#9;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="&#10;&#9;&#9;&#9;position: relative;&#10;&#9;&#9;&#9;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="&#10;&#9;&#9;&#9;&#9;&#9;display: table-caption; caption-side: bottom;&#10;&#9;&#9;&#9;&#9;"><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="&#10;&#9;&#9;&#9;position: relative;&#10;&#9;&#9;&#9;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">&times;</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" >&nbsp;
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;
}
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
@@ -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;
}
@@ -0,0 +1,62 @@
/* Services/Help */
#ilHelpText .ilc_text_inline_Strong {
font-weight: bold;
}
#ilHelpBack {
padding-bottom: 20px;
}
#ilHelpText {
clear: both;
font-size: 90%;
}
#ilHelpText .ilc_list_o_NumberedList,
#ilHelpText .ilc_list_u_BulletedList {
margin: 10px 0;
padding: 0 0 0 25px;
}
#ilHelpText .ilc_list_o_NumberedList .ilc_list_o_NumberedList,
#ilHelpText .ilc_list_o_NumberedList .ilc_list_u_BulletedList,
#ilHelpText .ilc_list_u_BulletedList .ilc_list_u_BulletedList,
#ilHelpText .ilc_list_u_BulletedList .ilc_list_o_NumberedList {
padding-left: 15px;
}
a#ilHelpClose {
display: block;
float: right;
padding: 5px;
}
#ilHelpPanel .il_VAccordionHead {
background-position: 3px 3px;
padding: 5px 5px 5px 30px;
font-size: 90%;
font-weight: bold;
border: none;
}
#ilHelpPanel li {
padding: 0;
}
#ilHelpPanel .ilGroupedListLE {
padding: 5px 10px 5px 20px;
}
#il_screen_id {
position: fixed;
right: 0;
@media only screen and (max-width: @grid-float-breakpoint-max) {
display: none;
}
}
#mm_help li a span:first-child {
width: 20px;
display: inline-block;
}
@@ -0,0 +1,36 @@
/* Services/InfoScreen */
div.ilInfoScreenSec {
padding: 0;
margin-bottom: 20px;
}
div.ilInfoScreenSec h2.ilHeader {
margin-bottom: 5px;
display: block;
}
.il_InfoScreenProperty {
padding: 15px;
vertical-align: top;
color: @il-text-light-color;
font-style: italic;
}
.il_InfoScreenPropertyValue {
padding: 15px;
vertical-align: top;
background-color: @il-main-bg;
}
.ilInfoScreenSec.form-horizontal .form-group {
margin: 0;
background-color: @il-main-bg;
}
.ilInfoScreenSec.form-horizontal {
background-color: transparent;
}
.ilInfoScreenSec.form-horizontal .control-label {
padding: 15px;
line-height: normal;
}
@@ -0,0 +1,34 @@
/* Services/Init */
div.ilStartupFrame {
@media only screen and (max-width: @grid-float-breakpoint-max) {
width: 100%;
}
}
.ilStartupSection {
padding-top: 25px;
@media only screen and (max-width: @grid-float-breakpoint-max) {
padding-top: 15px;
}
}
div.ilStartupSection form.form-horizontal {
text-align: left;
width: 40em;
@media only screen and (max-width: @grid-float-breakpoint-max) {
width: auto;
}
}
div#il_startup_logo img {
height: @il-logo-height;
width: @il-logo-width;
margin: @il-logo-margin;//15px;
@media only screen and (max-width: @grid-float-breakpoint-max) {
margin: @il-logo-resp-margin;//10px;
max-width: 100%;
height: @il-logo-resp-height;
width: @il-logo-resp-width;
}
}
@@ -0,0 +1,8 @@
.ilLearningHistoryShowMore {
text-align: center;
}
.ilPCLearnHist {
background-color: @body-bg;
padding: @padding-base-vertical @padding-base-horizontal;
}
@@ -0,0 +1,58 @@
.ilLike {
padding: 5px 0px;
text-align: right;
}
.ilLike .modal {
text-align: left;
}
.ilLike .modal .glyphicon {
font-size: 160%;
}
.ilLike .badge {
margin-left: -7px;
top: 7px;
}
.ilLike .glyphicon {
font-size: 130%;
}
.ilLike .il-counter-spacer {
margin-left: 0px;
font-size: 9px;
padding: 0;
visibility: hidden;
}
.ilLike a {
display: inline-block;
/* padding: 2px 4px; */
}
.ilLike a:hover {
text-decoration: none;
}
.ilLikeEmoticons {
padding: 0;
}
.ilLikeEmoticons a {
display: inline-block;
font-size: 140%;
padding: 4px;
}
.ilLikeEmoticons a:hover {
text-decoration: none;
/*background-color: @il-highlight-bg;*/
background-color: #F0F0F0;
}
.ilLike .il-item img {
max-width: 50%;
float:right;
}
@@ -0,0 +1,28 @@
/* Services/Mail */
a.mailread, a.mailread:visited {
font-weight: normal;
}
a.mailunread, a.mailunread:visited {
font-weight: bold;
}
.iosMailFilter .checkbox {
display: inline-block !important;
margin: 0 10px !important;
}
.iosMailFilter .checkbox:first-child {
margin: 0 15px !important;
}
.iosMailFilter .checkbox input[type="checkbox"] {
margin-left: -15px !important;
}
.ilMailAvatar {
min-width: 45px !important;
max-width: 45px !important;
height: auto;
}
@@ -0,0 +1,458 @@
// Default navbar
#ilTopNav {
margin: @il-main-menu-margin;
@media only screen and (max-width: @grid-float-breakpoint-max) {
min-height: 0;
display: block;
padding: 0;
margin: 0;
}
&.navbar {
padding-top: 1px;
padding-bottom: 1px;
min-height: 33px;
@media only screen and (max-width: @grid-float-breakpoint-max) {
min-height: 0;
padding-top: 0;
padding-bottom: 0;
}
> .navbar-collapse {
margin: 0;
padding: 0 0 0 5px;
&:empty {
+ div.navbar-header {
button.navbar-toggle {
@media only screen and (max-width: @grid-float-breakpoint-max) {
display: none;
}
}
}
}
}
}
&.navbar-default {
background-color: transparent;
.reset-filter();
border: 0 none;
@media only screen and (max-width: @grid-float-breakpoint-max) {
background-color: @il-main-dark-bg;
}
}
.dropdown-menu {
float: left;
right: auto;
left: 0;
min-width: 100%;
background-color: @il-main-menu-dropdown-bg;
li {
a{
background-color: @il-main-menu-dropdown-link-bg;
color: @il-main-menu-dropdown-link-color;
&:hover{
background-color: @il-main-menu-dropdown-link-hover-bg;
color: @il-main-menu-dropdown-link-hover-color;
}
}
}
@media only screen and (max-width: @grid-float-breakpoint-max) {
float: none;
left: auto;
right: auto;
}
}
.navbar-nav {
float: left;
margin-left: 5px;
@media only screen and (max-width: @grid-float-breakpoint-max) {
float: none;
margin-left: 0;
}
> li {
margin: 0 0 0 10px;
> a {
margin: 0;
padding: 5px 10px 6px;
text-transform: uppercase;
font-size: 14px;
border-top: 4px solid white;
background-color: @il-main-menu-link-bg;
color: @il-main-menu-link-color;
@media only screen and (max-width: @grid-float-breakpoint-max) {
margin: 0 10px 0 0;
padding: 5px 10px 6px;
border-top: 0;
color: @il-main-menu-link-color;//darken(@ilMainMenuColor, 30%);
}
&:hover,
&:active,
&:focus {
background-color: @il-main-menu-link-hover-bg;
color: @il-main-menu-link-hover-color;
//outline: 0;
//border-top: 4px solid @brand-primary;
//box-shadow: 3px 9px 9px 0px rgba(0,0,0,0.176);
@media only screen and (max-width: @grid-float-breakpoint-max) {
}
}
}
}
> .active > a,
> .open > a {
&,
&:hover,
&:active,
&:focus {
//background-color: lighten(@ilMainMenuColor, 42%);
outline: 0 none;
border-top: 4px solid @il-main-color;
background-color: @il-main-menu-link-active-bg;
color: @il-main-menu-link-active-color;
.box-shadow(3px 9px 9px 0px rgba(0,0,0,0.176));
@media only screen and (max-width: @grid-float-breakpoint-max) {
border-top: 0 none;
background-color: inherit;
.box-shadow(none);
}
}
}
}
button.navbar-toggle {
@media only screen and (max-width: @grid-float-breakpoint-max) {
position: fixed;
top: 0;
left: 40px;
height: 40px;
border-radius: 0;
border-width: 0;
background-color: @il-top-bar-link-bg;
color: @il-top-bar-link-color;
margin: 0;
}
.icon-bar {
@media only screen and (max-width: @grid-float-breakpoint-max) {
background-color: @il-top-bar-link-color;
}
}
&:hover {
@media only screen and (max-width: @grid-float-breakpoint-max) {
background-color: @il-top-bar-link-hover-bg;
}
.icon-bar {
@media only screen and (max-width: @grid-float-breakpoint-max) {
background-color: @il-top-bar-link-hover-color;
}
}
}
}
}
[dir="rtl"] #ilTopNav {
.dropdown-menu {
float: right;
left: auto;
right: 0;
padding: 5px 0;
text-align: right;
}
.navbar-nav {
float: right;
margin-left: 0;
margin-right: 70px;
@media only screen and (max-width: @grid-float-breakpoint-max) {
margin-right: 0;
padding-right: 0;
}
> li {
margin: 0 10px 0 0;
> a {
@media only screen and (max-width: @grid-float-breakpoint-max) {
float: right;
width: 100%;
margin: 0;
}
}
}
}
&.navbar > .navbar-collapse {
padding: 0 5px 0 0;
}
button.navbar-toggle {
@media only screen and (max-width: @grid-float-breakpoint-max) {
left: auto;
right: 40px;
}
}
}
/* Main Menu Top Title */
.ilTopTitle {
float: left;
font-weight: 600;
padding: 0 0 0 15px;
white-space: nowrap;
line-height: 40px;
@media only screen and (max-width: @grid-float-breakpoint-max) {
display: none;
}
}
[dir="rtl"] .ilTopTitle {
float: right;
padding: 0 15px 0 0;
}
.ilTopTitleVisible {
@media only screen and (max-width: @grid-float-breakpoint-max) {
display: block;
}
}
input.ilOpenIDBox {
background: url("@{il-background-images-path}openid.png") no-repeat 1px 2px white;
padding-left: 20px;
}
[dir="rtl"] input.ilOpenIDBox {
background-position: 2px 1px;
padding-left: 0;
padding-right: 20px;
}
#ilTopBar.ilTopBar {
padding: 0;
height: 40px;
top: 0;
z-index: 1040;
@media only screen and (max-width: @grid-float-breakpoint-max) {
z-index: 1030;
}
}
.ilTopFixed {
z-index: 1030;
position: fixed;
margin-left: auto;
margin-right: auto;
left: 0;
right: 0;
}
#ilTopBarNav {
float: right;
margin: 0;
padding: 0;
margin-right: 14px;
list-style: none outside none;
@media only screen and (max-width: @grid-float-breakpoint-max) {
margin-right: 0;
}
.dropdown-menu {
background-color: @il-top-bar-dropdown-bg;
border-radius: 0;
margin: 0;
color: @il-top-bar-dropdown-color;
a {
background-color: @il-top-bar-dropdown-link-bg;
color: @il-top-bar-dropdown-link-color;
&:hover,
&:active,
&:focus {
background-color: @il-top-bar-dropdown-link-hover-bg;
color: @il-top-bar-dropdown-link-hover-color;
}
}
}
> li {
float: left;
display: block;
position: relative;
> a {
margin-right: 1px;
display: block;
padding: 10px;
position: relative;
min-width: 40px;
height: 40px;
text-align: center;
background-color: @il-top-bar-link-bg;
color: @il-top-bar-link-color;
&:hover,
&:active,
&:focus {
outline: 0 none;
color: @il-top-bar-link-hover-color;
text-decoration: none;
background-color: @il-top-bar-link-hover-bg;
}
}
}
> .active > a,
> .open > a {
&,
&:hover,
&:active,
&:focus {
outline: 0 none;
color: @il-top-bar-link-hover-color;
text-decoration: none;
background-color: @il-top-bar-link-hover-bg;
}
}
#userlog {
> a {
padding: 0 10px 0 0;
img {
height: 40px;
width: 40px;
margin-right: 0px;
padding: 5px;
}
}
.dropdown-menu {
min-width: 100%;
> li > a {
padding-left: 50px;
}
}
}
}
[dir="rtl"] #ilTopBarNav {
float: left;
margin: 0;
margin-left: 14px;
text-align: right;
.badge {
margin-left: 0;
margin-right: -5px;
}
.dropdown-menu {
a {
text-align: right;
}
}
> li {
float: right;
}
> li > a {
margin-right: 1px;
}
#userlog {
> a {
padding: 0 0 0 10px;
img {
margin-left: 0;
}
}
}
}
.ilMainHeader {
background-color: @il-main-header-bg;
height: @il-main-header-height;
border-bottom: @il-header-border-bottom-height solid @il-header-border-bottom-color;
@media only screen and (max-width: @grid-float-breakpoint-max) {
height: auto;
border-bottom: 0 none;
}
&.ilTopFixed {
top: @il-top-bar-height;
@media only screen and (max-width: @grid-float-breakpoint-max) {
height: 0;
}
}
> header > .row > a.navbar-brand {
height: auto;
display: inline-block;
padding: 0;
margin: @il-logo-margin;
@media only screen and (max-width: @grid-float-breakpoint-max) {
height: 0;
padding: 0;
margin: 0;
}
> img {
display: inline-block;
height: @il-logo-height;
width: @il-logo-width;
@media only screen and (max-width: @grid-float-breakpoint-max) {
position: fixed;
top: 0;
left: 0;
height: @il-logo-resp-height;
width: @il-logo-resp-width;
}
}
}
}
[dir="rtl"] .ilMainHeader {
> header > .row > a.navbar-brand {
> img {
@media only screen and (max-width: @grid-float-breakpoint-max) {
left: auto;
right: 0;
}
}
}
}
.ilMainMenu {
background-color: @il-main-menu-bg;//@body-bg;
&.ilTopFixed {
// This 7px seems arbitrary, no obvious choice for variable.
// This is just to get the current 110px in the standard.
top: floor((@il-header-height - 7px));
@media only screen and (max-width: @grid-float-breakpoint-max) {
position: fixed;
top: 40px;
border-bottom: 0 none;
}
}
}
.ilMainMenuEntries {
margin-bottom: 10px;
padding-bottom: 10px;
}
div.ilMemberViewMainHeader {
background-color: #981a0a;
}
div.ilTopMemberView {
text-align: center;
h3 {
padding: 0;
margin: 0;
line-height: 40px;
}
@media only screen and (max-width: @grid-float-breakpoint-max) {
display: none;
}
}
.ilFixedTopSpacer {
padding-top: @il-header-height;
@media only screen and (max-width: @grid-float-breakpoint-max) {
margin-top: 40px;
padding-top: 0;
}
}
.ilFixedTopSpacerBarOnly {
padding-top: @il-top-bar-height;
@media only screen and (max-width: @grid-float-breakpoint-max) {
margin-top: 40px;
padding-top: 0;
}
}
ul.il-mm-selfloading {
width: 768px;
list-style: none;
margin-left: 0;
padding-left: 0;
}
@@ -0,0 +1,55 @@
/* Services/MediaObjects */
.ilPlayerPreviewOverlayOuter {
position: relative;
}
.ilPlayerPreviewOverlay {
position: relative;
width: 320px;
height: 240px;
cursor: pointer;
}
.ilPlayerPreviewDescription {
padding: 7px;
font-size: 85%;
position: absolute;
width: 100%;
color: #f0f0f0;
margin-top: -240px;
background: url("@{il-background-images-path}black60.png");
}
.ilPlayerPreviewOverlay img {
cursor: pointer;
width: 100%;
height: 100%;
}
.ilPlayerPreviewDescriptionDownload {
float: right;
}
.ilPlayerPreviewDescriptionDownload a {
color: white;
}
.mejs-overlay-button {
background-image: url("@{il-background-images-path}bigplay.svg");
}
.ilPlayerPreviewPlayButton {
background: url("@{il-background-images-path}bigplay.svg") no-repeat scroll 0 0 transparent;
height: 100px;
left: 50%;
margin: -50px 0 0 -50px;
position: absolute;
top: 50%;
width: 100px;
cursor: pointer;
}
.ilPlayerPreviewOverlay:hover .ilPlayerPreviewPlayButton {
background-position: 0 -100px;
}
@@ -0,0 +1,21 @@
/* Services/Membership */
div.ilAttendanceListPrint td, div.ilAttendanceListPrint th {
border: 1px solid @il-main-border-color;
padding: 2px;
}
th.ilMembershipRowActionsHeader {
text-align: right;
}
th.ilMembershipRowActionsHeader span {
padding-right: 6px;
}
body.ilBodyPrint {
height: auto;
background-color: white;
margin: 10px;
padding: 0;
}
@@ -0,0 +1,26 @@
/* Services/Navigation */
form.ilNavHistoryForm {
padding: 0;
margin: 0 5px 0 0;
padding: 5px 5px 2px;
border: 0 none;
display: inline;
font-size: 80%;
}
input.ilNavHistorySubmit {
color: #2255a0;
padding: 0;
margin: 0;
border: 0 none;
cursor: pointer;
background-color: #f0f0f0;
}
select.ilNavHistorySelect {
border: 0 none;
padding: 0;
background-image: none;
text-decoration: none;
}
@@ -0,0 +1,272 @@
/* Services/News */
td.il-news {
white-space:normal;
.il-news-locator {
margin: 2px 0px 4px 0px;
}
.ilIcon {
vertical-align:middle
}
.il-news-content {
clear:both;
}
.il-news-player {
margin-top: 15px;
max-width: 600px;
}
.il_BlockInfo {
text-align:right;
}
}
@media only screen and (max-width: @grid-float-breakpoint-max) {
td.il-news {
white-space: normal !important;
}
}
span.ilNewsRssIcon {
background-color: @il-warning-color;
color: white;
min-width: 36px;
font-size: 10px;
text-align: center;
display: inline-block;
padding: 0 5px;
&:hover {
text-decoration: none;
background-color: darken(@il-warning-color, 10%);
}
}
/* timeline, see http://codepen.io/jasondavis/pen/fDGdK */
.ilTimeline {
list-style: none;
padding: 20px 0;
position: relative;
&:before {
top: 0;
bottom: 0;
position: absolute;
content: " ";
width: 3px;
background-color: @il-main-border-dark-color;
left: 50%;
margin-left: -1.5px;
@media only screen and (max-width: @grid-float-breakpoint-max) {
left: 90%;
}
}
> li {
margin-bottom: 20px;
position: relative;
margin-right: 50%;
&:nth-child(even) {
margin-left: 50%;
margin-right: 0;
@media only screen and (max-width: @grid-float-breakpoint-max) {
margin-left: 0;
}
> .ilTimelineBadge {
left: 0;
margin-left: -25px;
right: auto;
margin-right: 0;
@media only screen and (max-width: @grid-float-breakpoint-max) {
right: auto;
left: 90%;
}
}
}
@media only screen and (max-width: @grid-float-breakpoint-max) {
margin-right: 0;
}
&:before, &:after {
content: " ";
display: table;
}
&:after {
clear: both;
}
> .ilTimelinePanel {
width: 88%;
float: left;
padding: 20px;
position: relative;
background: @il-main-bg;
@media only screen and (max-width: @grid-float-breakpoint-max) {
width: 80%;
}
&:after {
position: absolute;
top: 27px;
right: -14px;
display: inline-block;
border-top: 14px solid transparent;
border-left: 14px solid @il-main-bg;
border-right: 0 solid @il-main-bg;
border-bottom: 14px solid transparent;
content: " ";
}
}
> .ilTimelineBadge {
color: white;
width: 50px;
height: 50px;
padding-top: 8px;
line-height: 1.2em;
font-size: 1em;
text-align: center;
position: absolute;
top: 16px;
background-color: @il-neutral-light-color;
z-index: 100;
border-radius: 50%;
right: 0;
margin-right: -25px;
@media only screen and (max-width: @grid-float-breakpoint-max) {
left: 90%;
right: auto;
margin-left: -25px;
}
> .ilTimelineDay {
font-size: 1.3em;
}
> .ilTimelineMonth {
font-size: 0.8em;
}
> p {
padding: 0;
margin: 0;
}
}
&:nth-child(even) > .ilTimelinePanel {
float: right;
@media only screen and (max-width: @grid-float-breakpoint-max) {
float: left;
}
&:before {
border-left-width: 0;
border-right-width: 15px;
left: -15px;
right: auto;
@media only screen and (max-width: @grid-float-breakpoint-max) {
border-left-width: 15px;
border-right-width: 0;
right: auto;
right: -15px;
}
}
&:after {
border-left-width: 0;
border-right-width: 14px;
left: -14px;
right: auto;
@media only screen and (max-width: @grid-float-breakpoint-max) {
border-left-width: 14px;
border-right-width: 0;
left: auto;
right: -14px;
}
}
}
}
.media-heading {
clear: right;
margin-top: 8px;
}
div.ilNotesHeader {
background-color: @il-main-dark-bg;
}
}
.ilNewsTimelineTruncatedText {
/*overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;*/
}
.ilNewsTimelineObjHead img {
width: 22px;
height: 22px;
}
.ilNewsTimelinePlayer {
position: relative;
z-index: 500;
}
.ilNewsTimelineUserImage {
float: left;
overflow: hidden;
width: 100px;
@media only screen and (max-width: @grid-float-breakpoint-max) {
width: 50px;
}
}
.ilNewsTimelineUserImage img {
width: 75px;
height: 75px;
@media only screen and (max-width: @grid-float-breakpoint-max) {
width: 40px;
height: 40px;
}
}
.ilNewsTimelineContentSection {
padding-left: 100px;
@media only screen and (max-width: @grid-float-breakpoint-max) {
padding-left: 50px;
}
}
.ilNewsTimelineEditInfo {
width: 90%;
}
.ilNewsTimelineMoreLoader {
text-align: center;
}
.ilNewsTimelineMoreLoader img {
width: 30px;
height: 30px;
}
/* https://github.com/JoanClaret/jquery-dynamic-max-height */
.dynamic-height-wrap {
overflow: hidden;
position: relative;
.transition(max-height 0.25s ease-in-out);
width: 100%;
}
/* Bottom gradient (optional, but recommended)*/
.dynamic-height-active .dynamic-height-wrap:before {
background: linear-gradient(to bottom, rgba(240,249,255,0) 0%,white 100%);
bottom: 0;
content: '';
height: 30px;
left: 0;
position: absolute;
right: 0;
z-index: 1;
}
.dynamic-height-active .dynamic-show-more {
display: inline-block;
}
.dynamic-show-more {
display: none;
}
.ilTimeline .ilNotes {
margin: 0 -20px -20px -20px;
padding: 10px 20px;
}
@@ -0,0 +1,96 @@
/* Services/Notes */
#notes_embedded_outer {
background-color: @il-main-bg;
}
#notes_embedded_outer .il_ContainerItemCommands {
padding-top: 15px;
}
div.ilNotes {
background-color: @il-main-bg;
padding: 15px;
}
#ilRightPanel div.ilNotes {
background-color: @il-main-bg;
}
div.ilNotes .fullwidth_invisible {
background-color: transparent;
padding: 10px;
}
div.ilComment {
padding-left: 50px;
}
div.ilNotesUImage {
float: left;
margin-left: -50px;
img {
width: 40px;
height: 40px;
}
}
div.ilNoteText {
font-size: 95%;
margin-top: 5px;
}
div.ilNotesHeader {
background-color: @il-main-dark-bg;
margin-bottom: 5px;
padding: @padding-base-vertical @padding-base-horizontal;
h3 {
img {
width: 40px;
height: 40px;
}
}
}
#il_center_col {
div.ilNotesHeader {
display: none;
}
}
#ilRightPanel div.ilNotesHeader {
padding: 5px;
}
h3.ilNotesHeader {
font-size: 110%;
color: @il-text-color;
display: inline;
}
h4.ilNoteTitle {
font-size: 100%;
margin: 0;
padding: 0;
}
td.ilNoteList {
padding: 10px 5px;
border-top: 1px solid @il-main-border-color;
vertical-align: top;
}
textarea#note {
height: 6em;
}
div.ilNoteInput {
padding-bottom: 10px;
}
.ilNotesCheckboxes {
.ilComment {
padding-left: 80px;
}
.ilNoteList input[type="checkbox"] {
position: absolute;
}
}
@@ -0,0 +1,57 @@
/* Services/Object */
div.ilCreationFormSection {
//width: 700px;
}
div.ilCreationFormSection div.ilForm {
//width: 699px;
}
div.ilCreationFormSection div.ilForm div.ilForm {
//width: auto;
}
.ilHeadAction img {
width: 18px;
height: 18px;
}
.il_ItemProperty .badge{
font-size: 8px;
padding: 2px 4px;
margin-top: -1px;
margin-left: -5px;
position: absolute;
}
div.ilCreationFormSection .form-horizontal {
margin-top: -1px;
padding-top: 1px;
}
.ilObjListRow {
border-bottom: @il-item-border-bottom;
background-color: @il-main-bg;
}
//mantis #0017866
.table-striped {
border-collapse: separate;
> tbody > tr.ilObjListRow {
> td {
background-color: @il-main-bg;
}
&:hover {
> td {
background-color: lighten(@il-highlight-bg, 5%);
}
&:nth-child(2n+1) {
> td {
background-color: lighten(@il-highlight-bg, 5%);
}
}
}
}
}
@@ -0,0 +1,314 @@
[data-onscreenchat-inact-userid] {
opacity: .3 !important;
}
.ilOnScreenChatWindowHeaderTooltip {
ul {
text-align: left;
list-style-type: none;
margin: 0;
padding: 0;
}
}
#onscreenchat-container {
position: fixed;
bottom: 0;
left: 0;
right: 0;
width: 100%;
/*height: 100px;*/
overflow: visible;
pointer-events: none;
z-index: 1039;
.iosOnScreenChat{
margin-right: -3px;
}
.popover {
max-width: 200px;
min-height: 100px;
word-break: break-word;
a {
border: 1px solid white;
padding: 1px 0 1px 2px;
&:hover {
border: 1px solid silver;
}
img {
max-width: 19px;
max-height: 19px;
}
}
}
.row{
position: relative;
}
.chat-window-wrapper {
bottom: 0;
padding-left: 5px;
padding-right: 5px;
width: 278px;
height: 377px;
background-color: @body-bg;
&:last-child {
padding-left: 0;
}
.chat-img img {
height: 30px;
width: 30px;
}
li.left .chat-img {
margin-right: 5px;
}
li.right .chat-img {
margin-left: 5px;
}
.iosOnScreenChatBodyMsg {
overflow-x: hidden;
overflow-wrap: break-word;
word-wrap: break-word;
-ms-hyphens: auto;
-moz-hyphens: auto;
-webkit-hyphens: auto;
hyphens: auto;
}
.iosOnScreenChatMessageContainer {
background-color: transparent;
.iosOnScreenChatMessagePlaceholder {
position: absolute;
z-index: 0;
border: 0 none !important;
background-color: transparent;
opacity: .5;
}
.iosOnScreenChatMessage {
background-color: transparent;
position: relative;
z-index: 1;
white-space: pre-wrap;
user-select: text;
outline: none;
overflow-x: hidden;
height: auto;
min-height: 26px;
max-height: 75px;
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;
cursor: text;
padding-right: 26px;
}
}
.osc_truncate_username{
width: 150px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
display: inline-block;
}
.text-muted-left{
width: 160px;
margin-top: -4px;
text-align: right;
}
.text-muted-right{
width: 160px;
margin-top: -4px;
text-align: left;
}
.osc_truncate_username_left{
width: 160px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
display: inline-block;
margin-bottom: -5px;
text-align: right;
}
.osc_truncate_username_right{
width: 160px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
display: inline-block;
}
.chat {
list-style: none;
margin: 0;
padding: 0;
li.separator:not(:first-child) {
margin-top: 10px;
}
li.header:not(:first-child) {
margin-top: 15px;
}
li {
padding-bottom: 5px;
&.separator {
text-align: center;
background-color: @il-main-dark-bg;
p {
font-size: .9em;
}
}
&.header, &.message {
padding-left: 15px;
padding-right: 15px;
}
&.message.right {
.chat-body {
text-align: justify;
float: right;
max-width: 85%;
}
}
&.message.left {
.chat-body {
text-align: justify;
width: 85%;
}
}
.chat-body {
.header {
strong {
font-size: .8em;
}
}
p {
margin: 0;
color: #777;
font-size: .9em;
}
}
}
}
.panel {
pointer-events: auto;
margin: 0;
border: 1px solid #dcdcdc;
.panel-heading {
font-size: 80%;
display: block;
padding: 5px 5px 5px 15px;
pointer-events: auto;
margin: 0;
vertical-align: middle;
.btn {
padding: 0 4px;
}
img {
width: 16px;
height: 16px;
vertical-align: sub;
}
.close {
margin-top: -2px;
margin-left: 5px;
}
}
.panel .slidedown .glyphicon, .chat .glyphicon {
margin-right: 5px;
}
.panel-body {
height: auto;
overflow-y: scroll;
position: relative;
height: 250px;
padding-left: 0;
padding-right: 0;
padding-bottom: 0;
.fader {
position: -webkit-sticky;
position: sticky;
bottom: 0;
width: 100%;
height: 30px;
background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(#fff));
background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #fff 100%);
}
}
.panel-footer {
position: relative;
border-top: none;
padding-top: 15px ;
padding-bottom: 15px;
}
}
.iosOnScreenChatEmoticonsPanel {
position: absolute;
float: right;
bottom: 21px;
z-index: 3;
right: 28px;
> a {
display: block;
height: 14px;
width: 14px;
background: url("@{il-background-images-path}emoticons_trigger.png") no-repeat;
background-size: cover;
z-index: 1000;
}
}
}
}
.iosOnScreenChatModalBody {
.ui-menu-item {
padding: 5px;
}
.ui-menu-item-wrapper {
cursor: pointer !important;
}
}
.ilOnScreenChatSearchLoader {
vertical-align: middle;
width: 10px;
height: 10px;
margin-left: 5px;
display: inline-block;
}
@@ -0,0 +1,186 @@
/* ilPreview classes */
.il_ContainerItemPreview {
font-size: 11px;
margin-left: 10px;
}
.ilPreviewList {
margin: 0;
padding: 0;
list-style: none;
}
.ilPreviewItem {
display: block;
margin: 0;
padding: 0;
}
.ilPreviewItem img {
border: 1px solid #D6D6D6;
-webkit-box-shadow: 0 0 5px #D2D5D8;
box-shadow: 0 0 5px #D2D5D8;
}
.ilPreviewText {
font-size: 90%;
margin-top: -20px;
color: @il-neutral-color;
}
.ilPreviewTextLoading {
width: 14px;
height: 14px;
background: transparent url("@{il-background-images-path}loader.svg") no-repeat 0 0;
display: none;
}
.ilPreviewActions a.submit,
.ilPreviewActions a.submit:hover {
margin-top: 5px;
}
.ilPreviewActions a.ilPreviewActionHidden {
display: none;
}
.ilPreviewStatusNone {
filter: alpha(opacity=60);
-moz-opacity: 0.60;
opacity: 0.60;
}
/* tooltip */
#qtip-preview {
max-width: none;
min-width: 50px;
line-height: normal;
-webkit-box-shadow: rgba(0, 0, 0, 0.47) 0 0 7px 0;
box-shadow: rgba(0, 0, 0, 0.47) 0 0 7px 0;
background-color: white;
border-collapse: separate;
font-size: 14px;
padding: 0;
border: 1px solid #D1D1D1;
}
#qtip-preview .qtip-titlebar {
background: white;
padding: 14px 20px 10px 20px;
}
#qtip-preview .qtip-content {
background: white;
padding: 0 20px 20px;
-moz-user-select: none;
-ms-user-select: none;
-webkit-user-select: none;
user-select: none;
}
#qtip-preview .qtip-title {
background: transparent;
font-weight: normal;
}
#qtip-preview .qtip-close {
right: 20px;
top: 14px;
margin-top: 0;
border: 0;
border-radius: 0;
background: transparent url("@{il-background-images-path}preview_close.png") no-repeat 0 0;
width: 16px;
height: 16px;
}
#qtip-preview .qtip-close:hover {
background-position-x: -16px;
}
#qtip-preview .ui-icon-close {
display: none;
}
.ilPreviewTooltipContent {
position: relative;
background: #F8F8F8;
border: 1px solid #E9E9E9;
padding: 0;
}
.ilPreviewTooltipContent .ilPreviewList {
display: block;
padding: 10px;
text-align: center;
margin: 0 20px;
box-sizing: content-box;
}
.ilPreviewTooltipPrev {
position: absolute;
background: transparent url("@{il-background-images-path}preview_arrows.png") no-repeat 0 0;
width: 30px;
height: 40px;
left: 0;
top: 50%;
margin-top: -25px;
cursor: pointer;
}
.ilPreviewTooltipPrev:hover {
background-position-x: -30px;
}
.ilPreviewTooltipPrev.ilPreviewDisabled {
opacity: 0.4;
cursor: default;
background-position-x: -60px;
}
.ilPreviewTooltipNext {
position: absolute;
background: transparent url("@{il-background-images-path}preview_arrows.png") no-repeat 0 -40px;
width: 30px;
height: 40px;
right: 0;
top: 50%;
margin-top: -25px;
cursor: pointer;
}
.ilPreviewTooltipNext:hover {
background-position-x: -30px;
}
.ilPreviewTooltipNext.ilPreviewDisabled {
opacity: 0.4;
cursor: default;
background-position-x: -60px;
}
/* inline */
.ilPreviewInline {
overflow: hidden;
width: 100%;
}
.ilPreviewInlineTable {
/* width: 100%; //provisory fix for #12096 */
display: table;
table-layout: fixed;
margin: 0;
padding: 0;
}
.ilPreviewInlineRow {
display: table-row;
margin: 0;
padding: 0;
}
.ilPreviewInlineCell {
display: table-cell;
margin: 0;
padding: 0;
}
.ilPreviewInlineContent {
overflow: auto;
}
.ilPreviewInlineContent .ilPreviewList {
padding: 0 0 5px 0;
white-space: nowrap;
display: inline-block;
}
.ilPreviewInlineContent .ilPreviewItem {
display: inline-block;
margin: 0 10px 0 0;
}
.ilPreviewInlineContent .ilPreviewItem img {
-webkit-box-shadow: none;
box-shadow: none;
}
.ilPreviewInlineContent .ilPreviewText {
font-size: 100%;
margin-top: 0;
}
@@ -0,0 +1,21 @@
/* Services/Rating */
img.ilRatingIcon {
width: 16px;
height: 16px;
}
img.ilRatingMarker {
width: 7px;
height: 7px;
}
a.ilRating {
text-decoration: none;
}
div.ilRatingOverlay {
z-index: 1000 !important;
padding: 0 5px;
display: none;
}
@@ -0,0 +1,104 @@
#ilMMSearch ul li {
padding: 5px;
label {
font-weight: normal;
}
}
#ilMMSearchMenu {
legend {
margin-bottom: 0;
margin-top: 20px;
font-size: 16px;
border-bottom: 0;
}
p {
white-space: nowrap;
}
}
#main_menu_search {
width: 80%;
}
#ilTopBarNav .dropdown-menu #ilMMSearchMenu a {
&,
&:hover,
&:active,
&:focus {
background-color: @il-top-bar-dropdown-link-bg;
color: @il-top-bar-dropdown-link-color;
}
}
div.ilMainMenuSearch {
padding: 0 10px 3px;
margin: 1px 0 2px -1px;
line-height: 26px;
}
input.ilMainMenuSearch {
cursor: pointer;
border: none;
color: @il-text-color;
width: 150px;
padding: 2px 4px 1px;
margin: 0;
background-color: white;
min-height: 16px;
.box-shadow(inset 1px 1px 2px #a0a0a0);
line-height: 1;
}
#mm_search_menu_head {
background-color: @il-main-dark-bg;
padding: 5px;
font-size: 85%;
p {
margin: 0;
}
input {
margin: 0;
padding: 0;
}
}
#il_search_toolbar {
> div{
padding-top: @il-padding-large-vertical;
}
div.ilFormOption {
width: auto;
}
div.ilFormFooter {
display: none;
}
}
#mm_search_menu_ac .ui-menu {
border: 0 none;
.box-shadow(none);
color: @il-text-color;
}
span.ilSearchHighlight {
font-weight: bold;
}
div.il_SearchFragment {
margin: 2px 0 5px;
font-size: 80%;
font-weight: normal;
text-align: left;
}
#ilSearchResultsTable.table-striped > tbody > tr > td {
background-color: transparent;
}
#search_area_form {
min-width: 350px;
.form-horizontal .control-label {
padding-top: 0;
}
}
@@ -0,0 +1,149 @@
/* Services/Skill */
div.ilSkill {
background: @il-main-dark-bg;
padding: 15px;
margin-bottom: 20px;
margin-top: 10px;
}
div.ilSkill > h3 {
margin: 10px 0;
padding: 0;
font-size: 1.2em;
float: left;
}
div.ilSkill > h4 {
margin: 10px 0;
padding: 0;
font-size: 1em;
color: @il-text-light-color;
float: left;
clear: left;
}
table.ilSkill, td.ilSkill, th.ilSkill {
border: 1px solid @il-main-border-color;
}
div.ilSkillActions {
margin-top: -5px;
margin-right: 15px;
float: right;
}
div.ilSkill .ilSkillActions {
margin-right: 0px;
}
table.ilSkill {
margin-bottom: 5px;
margin-left: 50px;
background-color: white;
border-collapse: collapse;
clear: both;
}
td.ilSkill, th.ilSkill {
font-size: .8em;
padding: 4px;
min-width: 50px;
}
td.ilSkill {
text-align: center;
vertical-align: middle;
}
td.ilSkillLevel {
cursor: pointer;
}
th.ilSkill, td.ilSkillLevel{
background-color: @il-main-dark-bg;
}
td.ilSkillSelf {
background-color: #fff0e0;
}
td.ilSkillMat {
background-color: #f0f0ff;
}
div.ilSkillSuggRes {
margin-left: 50px;
}
th.ilSkillEntryHead {
width: 250px;
}
.ilSkillEvalItem {
border-left: 5px solid;
margin: 2px 0;
padding: 10px;
> .row > div {
padding-top: 3px;
padding-bottom: 3px;
}
}
.ilSkillEvalItem.ilSkillEvalType1 {
border-color: @il-extended-color-3;
}
.ilSkillEvalItem.ilSkillEvalType2 {
border-color: @il-extended-color-2;
}
.ilSkillLevelDescription, .ilSkillMaterial, .ilSkillSuggResources {
padding: 5px 10px 5px 15px;
> .row > div {
padding-top: 2px;
padding-bottom: 2px;
}
}
.ilSkillResourceList {
> h5 {
margin-top:25px;
}
> div {
padding: 5px 10px 5px 15px;
> .row > div {
padding-top: 2px;
padding-bottom: 2px;
}
}
}
.ilSkillEvalItem.ilSkillEvalType3 {
border-color: darken(@il-secondary-color, 10%);
}
.ilSkillEvalItem > .row > .ilSkillEvalType1 {
color: @il-extended-color-3;
}
.ilSkillEvalItem > .row > .ilSkillEvalType2 {
color: @il-extended-color-2;
}
.ilSkillEvalItem > .row > .ilSkillEvalType3 {
color: darken(@il-secondary-color, 10%);
}
.ilSkillFilter .ilToolbar select.form-control {
display: block;
}
.ilSkillCategoryDescription {
margin: 0px 5px;
padding-bottom: 15px;
}
@@ -0,0 +1,39 @@
/* Services/Style */
.ilPositionStatic {
position: static;
}
/* PageLayout Previews */
div.ilc_QuestionPlaceHolderThumb,
div.ilc_MediaPlaceHolderThumb,
div.ilc_TextPlaceHolderThumb,
div.ilc_PredTextPlaceHolderThumb {
margin: 1px;
padding: 5px 2px 5px 0;
border: 1px solid @il-neutral-color;
font-size: 10px;
background: url("@{il-background-images-path}question_placeholder_thumb.png") no-repeat center;
font-weight: bold;
}
div.ilc_MediaPlaceHolderThumb {
background-image: url("@{il-background-images-path}media_placeholder_thumb.png");
}
div.ilc_TextPlaceHolderThumb {
background-image: url("@{il-background-images-path}text_placeholder_thumb.png");
}
div.ilc_PredTextPlaceHolderThumb {
background-image: url("@{il-background-images-path}pred_text_placeholder_thumb.png");
}
div.ilc_HeadlineThumb {
font-size: 11px;
font-weight: bold;
width: 100%;
border-bottom: 1px solid @il-neutral-color;
color: @il-text-color;
margin: 2px 0 4px;
}
@@ -0,0 +1,288 @@
/* Services/Table */
div.tblfooter {
font-weight: normal;
background-color: @il-main-dark-bg;
padding: 3px;
font-size: 80%;
text-align: right;
}
div.ilTableNav {
font-weight: normal;
padding: 0 3px;
font-size: 80%;
text-align: right;
table {
width: 100%;
}
select {
//See Issue #32398
display: inline-block;
}
.ilFloatRight .ilOverlay{
//See Issue #32363
display: none;
}
}
td.tblfooter {
}
tr.tblfooter {
color: @il-text-color;
font-weight: normal;
background-color: @il-main-dark-bg;
border-top: 1px solid @il-content-bg;
}
.tblrow1 {
}
.tblrow2 {
}
td.submit {
padding: 3px;
vertical-align: top;
background-color: @il-main-dark-bg;
}
div.ilTableHeaderTitleBlock {
font-weight: bold;
padding: 3px;
font-size: 90%;
color: @il-text-color;
border-bottom: 1px solid @il-main-border-color;
}
div.ilTableHeaderTitle {
margin: 15px 0 0;
padding: 0;
+ .ilHeaderDesc {
margin: 0 0 5px;
}
}
h3.ilTableHeaderTitleBlock {
font-weight: bold;
font-size: 100%;
display: inline;
padding: 0;
margin: 0;
}
h3.ilTableHeaderTitle {
display: inline;
}
div.ilTableOuter {
padding: 0;
background-color: @il-main-bg;
}
div.ilTableSelectAll {
background-color: @il-main-bg;
padding: 6px 8px;
font-size: 90%;
border-top: 1px solid @il-main-border-color;
}
div.ilTableSelectAll label {
padding-left: 13px;
}
div.ilTableCommandRow, div.ilTableCommandRowTop {
background-color: @il-table-cmd-bg;
padding: 5px 8px;
font-size: 90%;
}
div.ilTableCommandRowTop {
}
span.ilTableFootLight {
color: @il-text-color;
}
div.ilTableFilterActivator {
margin: 0 0 5px 3px;
}
.ilTableMenuItem {
margin: 0 10px 0 0;
}
div.ilTableFilter {
padding: 0 0 5px 0;
margin: 0;
}
legend.ilTableFilter {
font-size: 80%;
border: none;
padding: 2px 5px;
margin: -12px 0 0;
font-weight: normal;
text-align: right;
> a {
margin-right: -20px;
margin-top: -15px;
}
}
fieldset.ilTableFilter {
background-color: @il-main-dark-bg;
padding: 10px 15px;
margin: 5px 0 15px 0;
}
div.ilTableFilterLabel {
font-style: italic;
background-color: @il-main-dark-bg;
padding: 3px 0px;
}
div.ilTableFilterLabel label {
margin: 0;
}
div.ilTableFilterInput {
min-width: 150px;
padding: 0 0 5px 0;
}
div.ilTableFilterInput select {
width: 100%;
max-width: 150px;
}
div.ilTableFilterInput .radio, div.ilTableFilterInput .checkbox {
margin: 0;
}
td.ilFilterOption {
text-align: left;
vertical-align: top;
font-size: 80%;
white-space: nowrap;
padding: 0 10px 10px 0;
min-width: 150px;
}
td.ilFilterType {
font-size: 80%;
font-weight: bold;
text-align: left;
white-space: nowrap;
padding: 3px;
}
div.ilTableContainer {
overflow: auto;
}
.tblheader {
font-weight: normal;
}
tr.tblheader {
font-weight: normal;
background-color: @il-main-dark-bg;
font-size: 90%;
border-bottom: 1px solid #d6d6d6;
}
/* ---------------- alternating tablerowcolors ----------------- */
.tblrow2_mo {
background-color: @il-content-bg;
color: @il-text-color;
padding: 3px;
}
.tblrow1_mo {
background-color: white;
color: @il-text-color;
padding: 3px;
}
.tblrow1_mo:hover, .tblrow2_mo:hover {
background-color: #d0d0ff;
}
.tblrowmarked {
background-color: #ffe4e4 !important;
color: @il-text-color;
padding: 3px;
}
.tblrow2top {
background-color: @il-content-bg;
color: @il-text-color;
padding: 3px;
vertical-align: top;
}
.tblrow1top {
background-color: white;
color: @il-text-color;
padding: 3px;
vertical-align: top;
}
.tblrowmarkedtop {
background-color: #ffe4e4;
color: @il-text-color;
padding: 3px;
vertical-align: top;
}
div.ilTableCommandRowTop {
}
.table > thead > tr > th {
border-bottom: 1px solid @il-main-border-color;
background-color: @il-table-head-bg;
}
.ilTableOuter .table {
background-color: @il-data-table-bg;
}
td > img[src$="icon_custom.svg"] {
max-width: 32px;
}
.ilTableCommandRowTop, .ilTableCommandRow {
.ilFloatLeft {
img, select {
display: inline-block;
}
}
}
// Because of an issue ion Bootstrap when using Dropdown in Tables we need this. See https://github.com/twbs/bootstrap/issues/11037
@media (max-width: 767px) {
.table-responsive .dropdown-menu,
.table-responsive .dropdown-toggle {
//position: static !important; // Removed due to https://mantis.ilias.de/view.php?id=22175
}
}
//Note this is fixes the responsive view for the legacy table. In future we should rather move to truly responsive tables.
//See #27833
@media only screen and (max-width: @grid-float-breakpoint-max) {
.table-responsive{
overflow-x: auto;
max-width: 94vw;
}
}
@media (min-width: @grid-float-breakpoint-max) {
.table-responsive {
overflow: visible;
}
}
@@ -0,0 +1,51 @@
/* Services/Tags */
.ilTagCloud {
font-size: @font-size-small;
padding: @padding-large-vertical @padding-large-horizontal;
}
.ilTag {
background-color: @il-btn-tag-bg;
/* background-color: lighten(@brand-primary, 10%); */
color: @il-btn-tag-fg-relevance-veryhigh;
display: inline-block;
white-space: nowrap;
padding: 1px 5px;
margin: 2px 4px 2px 0;
border-radius: 3px;
}
a.ilTag:hover, a.ilTag:active {
text-decoration: none;
color: @il-btn-tag-fg-relevance-veryhigh;
background-color: darken(@il-btn-tag-bg, 5%);
}
.ilTagRelVeryHigh {
}
.ilTagRelHigh {
background-color: @il-btn-tag-bg-relevance-high;
color: @il-btn-tag-fg-relevance-high;
}
.ilTagRelMiddle {
background-color: @il-btn-tag-bg-relevance-middle;
color: @il-btn-tag-fg-relevance-middle;
}
.ilTagRelLow {
background-color: @il-btn-tag-bg-relevance-low;
color: @il-btn-tag-fg-relevance-low;
}
.ilTagRelVeryLow {
background-color: @il-btn-tag-bg-relevance-verylow;
color: @il-btn-tag-fg-relevance-verylow;
}
.ilTag.ilHighlighted {
background-color: @badge-bg;
}
#il_tags_modal textarea {
resize: vertical;
}
@@ -0,0 +1,5 @@
#tos_documents {
td.std .dropdown {
display: inline-block;
}
}
@@ -0,0 +1,138 @@
/* Services/UIComponent/AdvancedSelectionList */
div.il_adv_sel {
border: 1px solid #d6d6d6;
.box-shadow(2px 2px 4px #c0c0c0);
}
table.il_adv_sel {
color: black;
background-color: white;
border-spacing: 0;
cursor: pointer;
}
tr.il_adv_sel {
cursor: pointer;
}
tr.il_adv_sel_act {
background-color: #fff9bc;
cursor: pointer;
}
td.il_adv_sel {
border-bottom: 1px solid #f0f0f0;
padding: 3px 10px;
text-align: left;
white-space: nowrap;
cursor: pointer;
font-weight: normal;
}
#ilAdvSelListTable_item_creation td.il_adv_sel {
min-width: 150px;
}
td.il_adv_sel_ic {
border-bottom: 1px solid #f0f0f0;
padding: 3px 0 3px 10px;
text-align: left;
cursor: pointer;
}
td.ilAsyncImgLoader {
padding: 0 40px;
}
span[id^="ilAdvSelListAnchorElement_"] + div {
position: absolute;
z-index: 5000;
left: 0;
right: 0;
}
div[id^="ilAdvSelListTable_"] {
overflow: auto;
background-color: white;
clear: both;
display: none;
position: absolute;
}
//mantis #0017724, 17884, #17943
#ilAdvSelListAnchorText_asl + ul.dropdown-menu > li > div.row,
#ilAdvSelListAnchorText_asl + .dropdown-backdrop + ul.dropdown-menu > li > div.row,
#mm_adm_tr + span + ul.dropdown-menu > li > div.row,
#mm_adm_tr + ul.dropdown-menu > li > div.row {
@media only screen and (min-width: @screen-lg-min) {
.row{
width: auto;
}
ul{
min-width: 250px;
}
}
@media only screen and (max-width: @grid-float-breakpoint-max) {
width: 100% !important;
margin: 0;
}
}
#ilAdvSelListAnchorText_asl + ul.dropdown-menu > li > div.row
{
@media only screen and (max-width: @screen-md-min){
min-width: 260px;
}
@media only screen and (min-width: @screen-md-min) and (max-width: @screen-lg-min){
min-width: 520px;
}
@media only screen and (min-width: @screen-lg-min) {
min-width: 780px;
}
}
#ilAdvSelListAnchorText_asl + ul.dropdown-menu {
@media only screen and (max-width: @screen-sm-min) {
position: absolute;
background-color: @il-main-bg;
}
}
div.ilNewObjectSelector {
display: block;
text-align: right;
margin-bottom: 8px;
padding: 0;
width: 100%;
> .btn-group.open {
display: inline-block;
width: 100%;
#ilAdvSelListAnchorText_asl {
float: right;
}
#ilAdvSelListAnchorText_asl + .dropdown-menu {
top: 30px;
right: 0;
left: auto;
.dropdown-header{
margin-right:1px;
}
}
}
}
[dir="rtl"] div.ilNewObjectSelector {
> .btn-group {
#ilAdvSelListAnchorText_asl {
float: left;
}
}
}
#il-add-new-item-gl {
h2, a {
white-space: break-spaces;
}
}
@@ -0,0 +1,95 @@
/* Services/UIComponent/Button */
/*
Important: those classes and less are deprecated. Relevant Button less has been moved
the respective place in UI src/UI/templates/default/Button/button.less
Do NOT add any code here.
@Todo: This code needs to be (re)-moved. Are gradient-button btn-info and btn-link needed anymore?
*/
.gradient-button(@color, @borderColor, @startColor, @endColor, @startPercent, @endPercent, @degradeColor: @startColor) {
color: @color;
border-color: @borderColor;
background-color: @degradeColor;
#gradient > .vertical(@startColor, @endColor, @startPercent, @endPercent);
.reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners
&:hover {
color: darken(@color, 10%);
border-color: darken(@borderColor, 3%);
background-color: lighten(@degradeColor, 2%);
#gradient > .vertical(lighten(@startColor, 1%), lighten(@endColor, 1%), @startPercent, @endPercent);
.reset-filter();
.box-shadow(0 0 2px rgba(0, 0, 0, 0.2));
}
&:active {
color: @color;
border-color: darken(@borderColor, 1%);
background-color: darken(@degradeColor, 1%);
#gradient > .vertical(darken(@startColor, 1%), darken(@endColor, 1%), @startPercent, @endPercent);
.reset-filter();
.box-shadow(inset 0 2px 2px rgba(0, 0, 0, 0.05));
}
}
/*
.btn-default, .open > .dropdown-toggle.btn-default {
.gradient-button(@btn-default-color, @btn-default-border, @btn-default-bg, darken(@btn-default-bg, 5%), 0%, 100%);
}
*/
//overwrite buttons styles + add new one
//@color @background @border
.btn-info {
.button-variant(@link-color; white; lighten(@link-color, 35%));
}
.btn-link {
color: @link-color;
border: 0 none;
background-color: transparent;
&:hover,
&:focus,
&:active {
color: @link-hover-color;
text-decoration: none;
background-color: transparent;
}
}
/* old stuff */
input.ilSubmitInactive, input.ilSubmitInactive:hover, input.ilSubmitInactive:active,
a.ilSubmitInactive, a.ilSubmitInactive:hover , a.ilSubmitInactive:active {
background-color: @il-disabled-btn-bg;
border-color: @il-disabled-btn-border;
color: @il-disabled-btn-color;
cursor: default;
}
.split-btn ul {
min-width: 180px
}
.split-btn-default {
float: left
}
.btn-split.dropdown-toggle {
border-left: 1px solid white;
&:hover,
&:focus,
&:active {
border-left: 1px solid white;
}
}
button.btn:not(.btn-link) > span:first-child:not(:empty) {
display: inline-block;
min-width: @il-button-min-width;
vertical-align: top;
@media (max-width: @grid-float-breakpoint-max) {
min-width: 0;
}
}
@@ -0,0 +1,45 @@
/* Services/UIComponent/Checklist */
div.ilChecklist ul {
list-style-type: none;
margin: 0;
padding: 0;
}
div.ilChecklist ul li {
padding: 0;
font-size: 90%;
}
div.ilChecklist ul li a, div.ilChecklist ul li span {
padding: 5px 5px;
margin: 0 -5px;
display: block;
}
div.ilChecklist ul a:hover {
text-decoration: none;
color: @link-color;
}
div.ilChecklist ul li a:hover {
background-color: @il-highlight-bg;
}
div.ilChecklist ul li p, div.ilChecklist ul li p:hover {
color: @il-text-light-color;
font-size: 85%;
text-decoration: none;
padding: 0;
margin-top: 0;
}
div.ilChecklist ul li img {
width: 18px;
height: 18px;
float: right;
}
.ilSetupContent div.ilChecklist {
min-width: 200px;
}
@@ -0,0 +1,238 @@
/* Services/UI/Explorer2 */
table.ilExplorer {
width: 100%;
background-color: @il-main-dark-bg;
}
div.ilExplorerFrame {
}
td.ilExpH {
}
body.il_Explorer {
background: none @il-main-dark-bg;
}
div.il_Explorer {
margin: 0;
min-height: 468px;
padding: 10px 5px 15px;
}
div.ilExpH {
padding-top: 48px;
min-height: 35px;
}
td.ilExpBody {
border-top: 1px solid @il-main-border-color;
background-color: @il-main-dark-bg;
}
h1.ilExplorerHead {
color: @il-text-color;
margin: 0;
padding: 10px 5px 10px 28px;
vertical-align: top;
text-align: left;
font-weight: bold;
font-size: 90%;
}
div.il_ExplorerTree {
font-size: 90%;
}
ul.il_Explorer {
margin: 0 0 0 10px;
padding: 0;
list-style: none;
}
ul.il_ExplorerNoIndent {
margin: 0;
padding: 0;
list-style: none;
}
li.il_Explorer {
margin: 0;
padding: 0;
white-space: nowrap;
}
a.il_HighlightedNode, .ilHighlighted {
background-color: @il-highlight-bg;
padding: 0 5px;
}
li.ilExplSecHighlight {
background-color: @il-main-dark-bg !important;
border-top: solid 2px darken(@il-highlight-bg, 45%);
border-bottom: solid 2px darken(@il-highlight-bg, 45%);
}
div.il_ExplorerItemDescription {
margin-left: 40px;
}
a.ilTreeView {
position: fixed;
top: @il-header-height;
//@media only screen and (max-width: 768px) {top: 140px;}
z-index: 1020;
bottom: 160px;
background-color: @il-main-bg;
border: 1px solid @il-main-border-color;
border-left: none;
.box-shadow(1px 1px 2px #b9b9b9);
width: 6px;
@media only screen and (max-width: @screen-lg-min) {
/* at last temporary, since it overlaps content */
display: none;
}
> img {
display: inline-block;
margin-left: -2px;
max-width: inherit;
background-color: white;
border-right: 2px solid @il-main-border-color;
width: 28px;
height: 28px;
}
&:hover > img,
&:active > img,
&:focus > img {
margin-left: 0;
}
&:hover,
&:active,
&:focus {
outline: 0;
}
}
[dir="rtl"] a.ilTreeView {
border: 1px solid @il-main-border-color;
border-right: none;
> img {
margin-left: 0;
margin-right: -5px;
}
&:hover > img,
&:active > img,
&:focus > img {
margin-right: 0;
}
}
a.ilTreeView:hover img {
}
a.ilTreeViewRight:hover {
}
/* Explorer2, jsTree */
.jstree.jstree-default a {
color: @link-color !important;
}
.jstree.jstree-default a.disabled {
color: @il-text-color !important;
cursor: default !important;
}
.jstree.jstree-default a {
font-size: 100%;
min-height: 22px;
}
.jstree li, .jstree.jstree-default li i {
background: url("@{il-background-images-path}jstree.svg") no-repeat;
vertical-align: top;
}
.jstree.jstree-default .jstree-open > i {
background-position: -15px 0 !important;
}
.jstree.jstree-default .jstree-closed > i {
background-position: 3px 0 !important;
}
#vakata-contextmenu.jstree-context,
#vakata-contextmenu.jstree-context li ul {
background: none #f0f0f0;
border: 1px solid #979797;
.box-shadow(1px 1px 2px #999);
}
#vakata-contextmenu.jstree-context li {}
#vakata-contextmenu.jstree-context a {
color: black;
}
#vakata-contextmenu.jstree-context a:hover,
#vakata-contextmenu.jstree-context .vakata-hover > a {
padding: 0 5px;
background: #e8eff7;
border: 1px solid #aecff7;
color: @il-text-hover-color;
border-radius: 2px;
}
#vakata-contextmenu.jstree-context li.jstree-contextmenu-disabled a,
#vakata-contextmenu.jstree-context li.jstree-contextmenu-disabled a:hover {
color: silver;
background: none;
border: 0;
padding: 1px 4px;
}
#vakata-contextmenu.jstree-context li.vakata-separator {
background: white;
border-top: 1px solid @il-main-border-color;
margin: 0;
}
#vakata-contextmenu.jstree-context li ul {
margin-left: -4px;
}
.jstree img {
border: 0;
width: 20px;
height: 20px;
}
img.il_ExplorerIcon {
height: 20px;
width: 20px;
}
.ilExplorerContainer {
padding: 2px 0 6px 0;
}
.ilExplorerContainer .jstree-default .jstree-anchor {
height: auto;
}
.jstree-default .jstree-node, .jstree-default .jstree-anchor {
line-height: inherit;
}
.il-maincontrols-slate-content .jstree-default{
>ul>li.jstree-node{
margin-left: 0;
}
li.jstree-node{
margin-left: @il-tree-node-indentation;
padding: 0 @il-tree-node-vertical-spacing;
}
}
@@ -0,0 +1,27 @@
/* Services/UIComponent/GroupedLists */
div.ilGroupedListH {
padding: @padding-large-vertical 0 @padding-small-vertical 0;
color: @panel-heading-color;
}
div.ilGroupedListSep {
padding-bottom: 3px;
border-bottom: 1px solid @il-main-border-color;
margin: 0 10px 3px;
}
a.ilGroupedListLE {
display: block;
padding: 5px 10px;
font-size: 90%;
}
a.ilGroupedListLE:hover {
background-color: #ffffd9;
text-decoration: none;
}
td.ilGroupedListNewCol {
border-left: 1px solid @il-main-border-color;
}
@@ -0,0 +1,39 @@
/* Services/UIComponent/Lightbox */
.ilLightbox {
position: absolute;
top: 0;
bottom: 0;
right: 0;
left: 0;
background-color: #303030;
overflow: auto;
z-index: 1000;
}
a.ilMediaLightboxClose {
display: block;
float: right;
margin: 5px 0 10px 10px;
cursor: pointer;
color: @il-text-color;
font-size: 140%;
}
a.ilMediaLightboxClose:hover {
color: @il-text-hover-color;
text-decoration: none;
}
.ilLightboxContent {
margin: 50px auto 0;
width: 640px;
max-width: 100%;
}
.ilLightboxContent {
iframe {
width: 100%;
min-height: 400px;
}
}
@@ -0,0 +1,12 @@
/* Services/UIComponent/Modal */
.modal-body .jstree li {
overflow: hidden;
text-overflow: ellipsis;
}
.modal-body .jstree a {
display: inline;
}
.modal-content{
color: @il-text-color;
}
@@ -0,0 +1,14 @@
@progress-bar-info-bg: darken(@il-main-color, 5%);
@progress-bg: #bbb;
.progress {
height: 15px;
min-width: 100px;
}
.progress-bar {
font-size: 11px;
line-height: 15px;
min-width: 30px;
}
@@ -0,0 +1,85 @@
/* Services/UIComponent/Tabs */
.nav-tabs {
> li {
margin: 0 4px 0 0;
//border-top: 4px solid transparent;
> a {
border-radius: 0;
border: 0 none;
padding: 6px 12px 3px;
font-size: ceil((@font-size-base * 0.9));
margin: 0;
&:hover {
//background-color: transparent;
//border-color: transparent;
}
}
&.active {
//border-top: 4px solid lighten(@brand-primary, 25%);
}
// Active state, and its :hover to override normal :hover
&.active > a {
&,
&:hover,
&:focus {
background-color: @il-neutral-color;
color: white;
border: 0 none;
}
}
}
}
[dir="rtl"] .nav-tabs {
> li {
margin: 0 0 0 4px;
float: right;
}
}
#ilTab {
padding: 0;
margin: 7px 15px 23px;
border: 0 none;
border-bottom: 2px solid @il-neutral-color;
}
#ilTab a:focus-visible {
z-index: 3;
}
.ilSetupContent #ilTab {
margin: 7px 0 23px;
}
.ilTabsContentOuter {
padding: 0;
}
/* Sub Tabs */
#ilSubTab {
padding: 5px 20px;
margin: -23px 0 10px;
> li {
> a {
border-radius: 0;
padding: 3px 7px;
font-size: (@font-size-small * 0.97);
/* font-weight: 600; */
&:hover {
color: @il-link-hover-color;
}
}
&.active > a {
&,
&:hover,
&:focus {
color: @il-link-color;
background-color: transparent;
text-decoration: underline;
}
}
}
}

Some files were not shown because too many files have changed in this diff Show More