- Introdotto riferimento

- correzione per titolo finestra
This commit is contained in:
Emmanuele Sassi
2022-09-13 08:44:31 +02:00
parent cbe9efacbb
commit ffebc08a20
20 changed files with 327 additions and 26 deletions
Binary file not shown.
+3
View File
@@ -110,6 +110,9 @@
Public Const KEY_EXTRUSION_LENGTH = "ExtrusionLength"
Public Const KEY_RIB_TYPE = "RibType"
' parametri riferimento
Public Const KEY_REFERENCE = "Reference"
Public Const FILE_PATH = "FilePath"
End Module
+8
View File
@@ -153,6 +153,10 @@
<DependentUpon>ProjManagerV.xaml</DependentUpon>
</Compile>
<Compile Include="ProjManager\ProjManagerVM.vb" />
<Compile Include="ReferencePanel\ReferencePanelV.xaml.vb">
<DependentUpon>ReferencePanelV.xaml</DependentUpon>
</Compile>
<Compile Include="ReferencePanel\ReferencePanelVM.vb" />
<Compile Include="RibPanel\RibPanelV.xaml.vb">
<DependentUpon>RibPanelV.xaml</DependentUpon>
</Compile>
@@ -301,6 +305,10 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="ReferencePanel\ReferencePanelV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="RibPanel\RibPanelV.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
+1
View File
@@ -311,6 +311,7 @@ Public Class ImportPanelVM
EgtSetName(nFrameId, FRAME_PART)
EgtSetMode(nFrameId, GDB_MD.LOCKED)
End If
EgtSetInfo(nReferenceLayerId, KEY_REFERENCE, PrintSolidEntity.Reference)
' lo aggiungo a lista pezzi
Dim sFilePath As String = ""
EgtGetInfo(m_nImportedPartId, FILE_PATH, sFilePath)
+1 -1
View File
@@ -21,7 +21,7 @@
<PrintApp:DispositionPanelV DataContext="{StaticResource DispositionPanelVM}"/>
</TabItem>
<TabItem Header="REFERENCE">
<Button Height="100" Width="200"/>
<PrintApp:ReferencePanelV DataContext="{StaticResource ReferencePanelVM}"/>
</TabItem>
<TabItem Header="STARTMACH">
<PrintApp:StartMachPanelV DataContext="{StaticResource StartMachPanelVM}"/>
+2
View File
@@ -43,6 +43,8 @@ Public Class LeftPanelVM
Case Panels.DISPOSITION
Map.refDispositionPanelVM.Init()
Case Panels.REFERENCE
Map.refReferencePanelVM.Init()
Case Panels.STARTMACH
Map.refStartMachPanelVM.Init()
Case Panels.RIBS
+1 -2
View File
@@ -4,8 +4,7 @@
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
xmlns:PrintApp="clr-namespace:Icarus"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
Foreground="Black"
Title="Buongiorno" Icon="/Resources/EgtBEAMWALL.ico"
Title="{Binding sTitle}" Icon="/Resources/EgtBEAMWALL.ico"
MinHeight="600" MinWidth="800"
AboutBoxCommand="{Binding AboutBoxCommand}" WindowStyle="None" ResizeMode="NoResize"
AllowDrop="True" Drop="MainWindowV_Drop"
+12 -5
View File
@@ -27,11 +27,15 @@ Public Class MainWindowVM
End Property
' Titolo
Private m_Title As String = "Ciao"
Public ReadOnly Property Title As String
Private m_sTitle As String
Public Property sTitle As String
Get
Return m_Title
Return m_sTitle
End Get
Set(value As String)
m_sTitle = value
NotifyPropertyChanged(NameOf(sTitle))
End Set
End Property
' proprietà che seleziona la giusta pagina del TabControl
@@ -77,9 +81,12 @@ Public Class MainWindowVM
'#Region "METHODS"
Friend Sub SetTitle(sTitle As String)
m_Title = sTitle
NotifyPropertyChanged(NameOf(Title))
m_sTitle = sTitle
NotifyPropertyChanged(NameOf(sTitle))
' aggiorno titolo nella secondaryPage che e' quello che si vede nella barra in alto
Map.refSecondaryWindowVM.SetTitle(sTitle)
End Sub
'Public Sub UpdateTitle()
' m_Title = ""
' Select Case Map.refMainMenuVM.SelPage
@@ -0,0 +1,83 @@
<UserControl x:Class="ReferencePanelV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Border Style="{StaticResource LeftPanelPopup_Border}">
<ListBox ItemsSource="{Binding ReferenceList}"
SelectedItem="{Binding SelReference}">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<ContentPresenter />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Rows="3"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<RadioButton Content="{Binding sText}"
IsChecked="{Binding IsSelected,RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}}}"
FontSize="40"
Style="{StaticResource OptionPanel_NestingToggleButton}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Border>
<!--<UniformGrid Grid.Column="1"
Grid.Row="1"
Rows="3">
<RadioButton Content="┌"
IsChecked="{Binding ReferenceList[0], Mode=TwoWay}"
GroupName="Reference"
FontSize="40"
Style="{StaticResource OptionPanel_NestingToggleButton}"/>
<RadioButton Content="┬"
IsChecked="{Binding ReferenceList[4], Mode=TwoWay}"
GroupName="Reference"
FontSize="40"
Style="{StaticResource OptionPanel_NestingToggleButton}"/>
<RadioButton Content="┐"
IsChecked="{Binding ReferenceList[1], Mode=TwoWay}"
GroupName="Reference"
FontSize="40"
Style="{StaticResource OptionPanel_NestingToggleButton}"/>
<RadioButton Content="├"
IsChecked="{Binding ReferenceList[5], Mode=TwoWay}"
GroupName="Reference"
FontSize="40"
Style="{StaticResource OptionPanel_NestingToggleButton}"/>
<RadioButton Content="┼"
IsChecked="{Binding ReferenceList[8], Mode=TwoWay}"
GroupName="Reference"
FontSize="40"
Style="{StaticResource OptionPanel_NestingToggleButton}"/>
<RadioButton Content="┤"
IsChecked="{Binding ReferenceList[6], Mode=TwoWay}"
GroupName="Reference"
FontSize="40"
Style="{StaticResource OptionPanel_NestingToggleButton}"/>
<RadioButton Content="└"
IsChecked="{Binding ReferenceList[2], Mode=TwoWay}"
GroupName="Reference"
FontSize="40"
Style="{StaticResource OptionPanel_NestingToggleButton}"/>
<RadioButton Content="┴"
IsChecked="{Binding ReferenceList[7], Mode=TwoWay}"
GroupName="Reference"
FontSize="40"
Style="{StaticResource OptionPanel_NestingToggleButton}"/>
<RadioButton Content="┘"
IsChecked="{Binding ReferenceList[3], Mode=TwoWay}"
GroupName="Reference"
FontSize="40"
Style="{StaticResource OptionPanel_NestingToggleButton}"/>
</UniformGrid>-->
</UserControl>
@@ -0,0 +1,3 @@
Public Class ReferencePanelV
End Class
+140
View File
@@ -0,0 +1,140 @@
Imports System.Collections.ObjectModel
Imports EgtUILib
Imports EgtWPFLib5
Public Class ReferencePanelVM
Inherits VMBase
Private m_nReferenceLayerId As Integer = GDB_ID.NULL
Private m_ReferenceList As New List(Of ReferenceBtn)({New ReferenceBtn(ReferenceBtn.References.TL),
New ReferenceBtn(ReferenceBtn.References.TC),
New ReferenceBtn(ReferenceBtn.References.TR),
New ReferenceBtn(ReferenceBtn.References.ML),
New ReferenceBtn(ReferenceBtn.References.MC),
New ReferenceBtn(ReferenceBtn.References.MR),
New ReferenceBtn(ReferenceBtn.References.BL),
New ReferenceBtn(ReferenceBtn.References.BC),
New ReferenceBtn(ReferenceBtn.References.BR)})
Public Property ReferenceList As List(Of ReferenceBtn)
Get
Return m_ReferenceList
End Get
Set(value As List(Of ReferenceBtn))
m_ReferenceList = value
End Set
End Property
Private m_SelReference As ReferenceBtn
Public Property SelReference As ReferenceBtn
Get
Return m_SelReference
End Get
Set(value As ReferenceBtn)
m_SelReference = value
' elimino precedente
EgtEmptyGroup(m_nReferenceLayerId)
Dim b3PrintSolid As New BBox3d
EgtGetBBoxGlob(Map.refTopPanelVM.SelPart.nPrintSolidId, GDB_BB.STANDARD, b3PrintSolid)
' Creo riferimento
Dim ptOrig As New Point3d(b3PrintSolid.Min())
Select Case m_SelReference.Type
Case ChooseReferenceWndVM.References.TL
ptOrig += b3PrintSolid.DimY() * Vector3d.Y_AX
Case ChooseReferenceWndVM.References.TR
ptOrig += b3PrintSolid.DimY() * Vector3d.Y_AX + b3PrintSolid.DimX() * Vector3d.X_AX
Case ChooseReferenceWndVM.References.BL
Case ChooseReferenceWndVM.References.BR
ptOrig += b3PrintSolid.DimX() * Vector3d.X_AX
Case ChooseReferenceWndVM.References.TC
ptOrig += b3PrintSolid.DimY() * Vector3d.Y_AX + b3PrintSolid.DimX() / 2 * Vector3d.X_AX
Case ChooseReferenceWndVM.References.ML
ptOrig += b3PrintSolid.DimY() / 2 * Vector3d.Y_AX
Case ChooseReferenceWndVM.References.MR
ptOrig += b3PrintSolid.DimY() / 2 * Vector3d.Y_AX + b3PrintSolid.DimX() * Vector3d.X_AX
Case ChooseReferenceWndVM.References.TC
ptOrig += b3PrintSolid.DimY() * Vector3d.Y_AX + b3PrintSolid.DimX() / 2 * Vector3d.X_AX
Case ChooseReferenceWndVM.References.MR
ptOrig += b3PrintSolid.DimY() / 2 * Vector3d.Y_AX + b3PrintSolid.DimX() * Vector3d.X_AX
Case ChooseReferenceWndVM.References.BC
ptOrig += b3PrintSolid.DimX() / 2 * Vector3d.X_AX
Case ChooseReferenceWndVM.References.MC
ptOrig += b3PrintSolid.DimY() / 2 * Vector3d.Y_AX + b3PrintSolid.DimX() / 2 * Vector3d.X_AX
End Select
Dim frPrintSolid As New Frame3d(ptOrig)
Dim nFrameId As Integer = EgtCreateGeoFrame(m_nReferenceLayerId, frPrintSolid, GDB_RT.GLOB)
If nFrameId Then
EgtSetName(nFrameId, FRAME_PART)
EgtSetMode(nFrameId, GDB_MD.LOCKED)
End If
EgtSetInfo(m_nReferenceLayerId, KEY_REFERENCE, m_SelReference.Type)
EgtDraw()
End Set
End Property
Sub New()
' Creo riferimento a questa classe in EgtCAM5Map
Map.SetRefReferencePanelVM(Me)
End Sub
Friend Sub Init()
m_nReferenceLayerId = EgtGetFirstNameInGroup(Map.refTopPanelVM.SelPart.nPartId, LAY_REFERENCE)
Dim nReference As Integer = 3
EgtGetInfo(m_nReferenceLayerId, KEY_REFERENCE, nReference)
m_SelReference = m_ReferenceList.FirstOrDefault(Function(x) x.Type = nReference)
NotifyPropertyChanged(NameOf(SelReference))
End Sub
End Class
Public Class ReferenceBtn
Public Enum References As Integer
TL = 1
TR = 2
BL = 3
BR = 4
TC = 5
ML = 6
MR = 7
BC = 8
MC = 9
End Enum
Private m_Type As References
Public ReadOnly Property Type As References
Get
Return m_Type
End Get
End Property
Public ReadOnly Property sText As String
Get
Select Case Type
Case References.TL
Return ""
Case References.TR
Return ""
Case References.BL
Return ""
Case References.BR
Return ""
Case References.TC
Return ""
Case References.ML
Return ""
Case References.MR
Return ""
Case References.BC
Return ""
Case References.MC
Return ""
End Select
End Get
End Property
Sub New(Type As References)
m_Type = Type
End Sub
End Class
+19 -1
View File
@@ -221,6 +221,22 @@ Public Class MySceneHostVM
'''Map.refFreeContourInputVM.ResetInputBox()
End Sub
Friend Sub EmitTitle()
' nome file
Dim sTitle As String = MainController.GetCurrFile()
If String.IsNullOrEmpty(sTitle) Then
sTitle = EgtMsg(MSG_TOPCOMMANDBAR + 1) & Map.refMainWindowVM.MainWindowM.nInstance.ToString()
End If
' indicazione di modificato
If MainController.GetModified() Then
sTitle += "*"
End If
' dati del prodotto
sTitle += " - EgtCAM5"
' emissione del titolo
Map.refMainWindowVM.SetTitle(sTitle)
End Sub
#End Region ' METHODS
#Region "ProjectManager"
@@ -295,6 +311,7 @@ Public Class MySceneHostVM
' imposto modalita' import
Map.refTopPanelVM.SelPage = Pages.IMPORT
End If
EgtDraw()
End Sub
Public Sub InsertRib()
@@ -711,7 +728,6 @@ Public Class MySceneHostVM
Map.refTopPanelVM.PartList.Clear()
EgtZoom(ZM.ALL)
MainScene.SetStatusNull()
Map.refMainWindowVM.SetTitle("New - ")
End Sub
Private Sub OnOpenProject(sender As Object, sFile As String, bOk As Boolean)
@@ -858,6 +874,8 @@ Public Class MySceneHostVM
Case ModifyModes.AUXSOLIDS
End Select
End If
' aggiorno titolo
EmitTitle()
End Sub
Private Sub OnExecCmdEnd(command As Controller.CMD)
+1 -1
View File
@@ -4,7 +4,7 @@
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
xmlns:PrintApp="clr-namespace:Icarus"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
Title="{Binding Title}" Icon="/Resources/EgtBEAMWALL.ico"
Title="{Binding sTitle}" Icon="/Resources/EgtBEAMWALL.ico"
WindowStyle="None" ResizeMode="NoResize"
ShowInTaskbar="False"
AllowsTransparency="True"
@@ -4,6 +4,18 @@ Imports EgtUILib
Public Class SecondaryWindowVM
Inherits VMBase
' Titolo
Private m_sTitle As String
Public Property sTitle As String
Get
Return m_sTitle
End Get
Set(value As String)
m_sTitle = value
NotifyPropertyChanged(NameOf(sTitle))
End Set
End Property
Private m_Visibility As Boolean
Public Property Visibility As Visibility
Get
@@ -21,6 +33,11 @@ Public Class SecondaryWindowVM
End If
End Sub
Friend Sub SetTitle(sTitle As String)
m_sTitle = sTitle
NotifyPropertyChanged(NameOf(sTitle))
End Sub
' definizione comandi
Private m_cmdAboutBox As ICommand
Private m_cmdCloseApplication As ICommand
+3
View File
@@ -144,6 +144,9 @@ Public Class SliceManagerVM
NotifyPropertyChanged(NameOf(ghTime))
' eseguo script di uscita da gruppo corrente
ExecExitMachScript()
If Not bok Then
MessageBox.Show("Error in code generation! See log file.", "Error", MessageBoxButton.OK, MessageBoxImage.Error)
End If
End If
Return bok
End Function
+3 -7
View File
@@ -14,19 +14,15 @@
</Grid.RowDefinitions>
<TextBlock Text="OBJECT LIST"
FontFamily="/Resources/Fonts/#Roboto"
FontWeight="Regular"
Foreground="Black"
FontSize="14"
Style="{StaticResource TopPanel_TextBlock}"/>
<TextBlock Grid.Column="1"
Text="Modify"
Text="MODIFY"
Style="{StaticResource TopPanel_TextBlock}"/>
<TextBlock Grid.Column="2"
Text="Material"
Text="MATERIAL"
Style="{StaticResource TopPanel_TextBlock}"/>
<TextBlock Grid.Column="3"
Text="Machining"
Text="MACHINING"
Style="{StaticResource TopPanel_TextBlock}"/>
<ComboBox Grid.Column="0"
+1 -2
View File
@@ -65,8 +65,7 @@ Public Class TopPanelVM
End If
End Sub
Private m_ModifyModeList As New List(Of ModifyModeButton)({New ModifyModeButton("Select Part", ModifyModes.SELECT_),
New ModifyModeButton("Disposition", ModifyModes.DISPOSITION),
Private m_ModifyModeList As New List(Of ModifyModeButton)({New ModifyModeButton("Disposition", ModifyModes.DISPOSITION),
New ModifyModeButton("Reference", ModifyModes.REFERENCE),
New ModifyModeButton("StartMachining", ModifyModes.STARTMACH),
New ModifyModeButton("Ribs", ModifyModes.RIBS),
+6 -5
View File
@@ -40,6 +40,7 @@
<PrintApp:SliderManagerVM x:Key="SliderManagerVM"/>
<PrintApp:RibParamPanelVM x:Key="RibParamPanelVM"/>
<PrintApp:SimulationPanelVM x:Key="SimulationPanelVM"/>
<PrintApp:ReferencePanelVM x:Key="ReferencePanelVM"/>
<!--<EgtBEAMWALL:CALCPanelVM x:Key="CALCPanelVM"/>
<EgtBEAMWALL:PartParametersVM x:Key="PartParametersVM"/>
<EgtBEAMWALL:LeftPanelVM x:Key="LeftPanelVM"/>
@@ -424,9 +425,10 @@
</Style>
<Style x:Key="TopPanel_TextBlock" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
<Setter Property="FontSize" Value="15"/>
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="FontFamily" Value="/Resources/Fonts/#Roboto"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="FontWeight" Value="Regular"/>
<Setter Property="Foreground" Value="Black"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
</Style>
@@ -555,8 +557,7 @@
<Style TargetType="{x:Type EgtWPFLib5:EgtCustomWindow}" BasedOn="{StaticResource {x:Type EgtWPFLib5:EgtCustomWindow}}">
<Setter Property="TitleBarHeight" Value="32"/>
<Setter Property="TitleBarBrush" Value="White"/>
<!--<Setter Property="BorderBrush" Value="{StaticResource Omag_Gray}"/>-->
<!--<Setter Property="TitleBarForeground" Value="{StaticResource Omag_Black}"/>-->
<Setter Property="TitleBarForeground" Value="Black"/>
<Setter Property="ShowInTaskbar" Value="False"/>
</Style>
+11 -2
View File
@@ -57,8 +57,17 @@ Module LuaExec
Friend Function ExecGenerate() As Boolean
EgtOutLog("-- Start ExecGenerate --")
' eseguo generazione
Map.refSceneHostVM.ExecScript(Map.refMainWindowVM.MainWindowM.s3dPrintingDir & "\GcodeGenerate.lua")
Return True
EgtLuaCreateGlobTable("PRINT")
EgtLuaSetGlobIntVar("PRINT.PROGRAM", 1)
Dim bOk As Boolean = EgtLuaExecFile(Map.refMainWindowVM.MainWindowM.s3dPrintingDir & "\GcodeGenerate.lua")
If bOk Then
Dim nErr As Integer = 999
EgtLuaGetGlobIntVar("PRINT.ERR", nErr)
bOk = (nErr <= 0)
End If
' Cancello tavola globale
EgtLuaResetGlobVar("PRINT")
Return bOk
End Function
End Module
+12
View File
@@ -56,6 +56,7 @@ Module Map
Private m_refSliderManagerVM As SliderManagerVM
Private m_refRibParamPanelVM As RibParamPanelVM
Private m_refSimulationPanelVM As SimulationPanelVM
Private m_refReferencePanelVM As ReferencePanelVM
#Region "Get"
@@ -394,6 +395,12 @@ Module Map
End Get
End Property
Public ReadOnly Property refReferencePanelVM As ReferencePanelVM
Get
Return m_refReferencePanelVM
End Get
End Property
#End Region ' Get
#Region "Set"
@@ -677,6 +684,11 @@ Module Map
Return Not IsNothing(m_refSimulationPanelVM)
End Function
Friend Function SetRefReferencePanelVM(ReferencePanelVM As ReferencePanelVM) As Boolean
m_refReferencePanelVM = ReferencePanelVM
Return Not IsNothing(m_refReferencePanelVM)
End Function
#End Region ' Set
#Region "Init"