PictureTagger/SB-PictureTagger/Form_SB-PictureTagger.vb

214 lines
9.0 KiB
VB.net

Option Explicit On
Imports System.IO
Public Class Main
'Deklariere Public Variables
Public pub_aPhotos(0) As String 'Array mit den Photo Pfaden
Public pub_sPath As String 'String mit dem Arbeits Verzeichnis
Public pub_nPhotoIndex As Long = 0 'IndexNR des pub_aPhotos Arrays
Public pub_bChangeTagg As Boolean = False 'Wenn ein Tagg geänderd wird:= True bis SaveTagg()
Public pub_aConfigForm(0) As Object 'Array mit FormConfiguration
'###################################################################################################################
'############### Main ##############################################################################################
'###################################################################################################################
Private Sub Main_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Initial
LoadConfigForm()
End Sub 'Main_Load
Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
SaveTagg()
SaveConfigForm()
End Sub 'Form1_Closing
'###################################################################################################################
'############### Form1_Function-Tasks ##############################################################################
'###################################################################################################################
'###################################################################################################################
'############### Form1_Sub-Tasks ###################################################################################
'###################################################################################################################
Private Sub Clear()
tb_Bild_Time.Clear()
tb_Bild_Title.Clear()
tb_Place_Addresse.Clear()
tb_Place_GPS.Clear()
rtb_Bild_Description.Clear()
rtb_Place_Description.Clear()
ReDim pub_aPhotos(0)
pub_aPhotos(0) = Nothing
pub_nPhotoIndex = 0
End Sub
Private Sub LoadConfigForm()
'pub_aConfigForm()
' <--- IN Work
'pub_sPath = INI:last_Path
End Sub 'LoadConfigForm
Private Sub SaveConfigForm()
'pub_aConfigForm()
' <--- IN Work
'INI:last_Path = pub_sPath
'INI:Auto_Save =
End Sub 'SaveConfigForm
Private Sub Reload()
SaveTaggByEvent()
pub_aPhotos = Modul_SB_PictureTagger.DirReadPhotos(pub_sPath)
LoadTaggedIMG()
End Sub 'Reload
Private Sub SaveTagg()
Dim ID As String = pub_aPhotos(pub_nPhotoIndex)
Dim iTaggedIMG As New TaggedIMG
If ID <> "" Then 'Später wird die ID der DB übergeben
iTaggedIMG = Modul_SB_PictureTagger.LoadPicture(ID)
Label7.Text = iTaggedIMG.Path
'TextBox sichern
If tb_Bild_Time.Text <> Nothing Then iTaggedIMG.Time = tb_Bild_Time.Text
If tb_Place_Addresse.Text <> Nothing Then iTaggedIMG.Ort.Adresse = tb_Place_Addresse.Text
If tb_Place_GPS.Text <> Nothing Then iTaggedIMG.Ort.GPS = tb_Place_GPS.Text
If rtb_Bild_Description.Text <> Nothing Then iTaggedIMG.Description = rtb_Bild_Description.Text
If rtb_Place_Description.Text <> Nothing Then iTaggedIMG.Ort.Description = rtb_Place_Description.Text
'Erstelle Marks
'Lese Marks
End If
'Call The Save Methode from Modul_SB-PictureTagger
'Modul_SB_PictureTagger.Save_Taggs(pub_iTaggedIMG, IO.Path.GetDirectoryName(pub_sPath))
pub_bChangeTagg = False
End Sub 'SaveTagg
Private Sub SaveTaggByEvent()
If pub_bChangeTagg Then
If cb_AutoSave.Checked Then
SaveTagg()
ElseIf MessageBox.Show("Do you want to save changes?", "SB-PictureTagger", MessageBoxButtons.YesNo) = DialogResult.Yes Then
SaveTagg()
Else
pub_bChangeTagg = False
End If
End If
End Sub 'SaveTaggByEvent
Private Sub LoadTaggedIMG()
Dim ID As String = pub_aPhotos(pub_nPhotoIndex)
Dim iTaggedIMG As New TaggedIMG
If ID <> "" Then 'Später wird die ID der DB übergeben
SaveTaggByEvent()
iTaggedIMG = Modul_SB_PictureTagger.LoadPicture(ID)
Label7.Text = iTaggedIMG.Path
'Befülle PictureBox
PictureBox1.Image = iTaggedIMG.Image
'Textvelder Lehren
Clear()
'Befülle TextBox
tb_Bild_Time.Text = iTaggedIMG.Time
tb_Bild_Title.Text = iTaggedIMG.Title
tb_Place_Addresse.Text = iTaggedIMG.Ort.Adresse
tb_Place_GPS.Text = iTaggedIMG.Ort.GPS
rtb_Bild_Description.Text = iTaggedIMG.Description
rtb_Place_Description.Text = iTaggedIMG.Ort.Description
'End Sub
'Erstelle Marks
End If
End Sub 'LoadTaggedIMG
'###################################################################################################################
'############### Buton Events: Click ###############################################################################
'###################################################################################################################
Private Sub b_exit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_exit.Click
' Programm Beenden
Me.Close()
End Sub
Private Sub b_loaddir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_loaddir.Click
'Laden eines zu Taggenden Bilder-Verzeichnis
pub_sPath = Modul_Tools.FolderBrowserDialog()
Reload()
End Sub
Private Sub b_reloaddir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_reloaddir.Click
Reload()
End Sub
Private Sub b_save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_save.Click
If pub_bChangeTagg = True Then
SaveTagg()
End If
End Sub
Private Sub b_next_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_next.Click
If pub_nPhotoIndex <= (UBound(pub_aPhotos) - 1) Then
pub_nPhotoIndex += 1
LoadTaggedIMG()
End If
End Sub
Private Sub b_last_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_last.Click
If pub_nPhotoIndex > 0 Then
pub_nPhotoIndex = pub_nPhotoIndex - 1
LoadTaggedIMG()
End If
End Sub
'###################################################################################################################
'############### TextBox: TextCanched ##############################################################################
'###################################################################################################################
Private Sub rtb_Bild_Description_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rtb_Bild_Description.TextChanged
pub_bChangeTagg = True
End Sub
Private Sub rtb_Place_Description_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rtb_Place_Description.TextChanged
pub_bChangeTagg = True
End Sub
Private Sub tb_Bild_Time_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_Bild_Time.TextChanged
pub_bChangeTagg = True
End Sub
Private Sub tb_Bild_Title_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_Bild_Title.TextChanged
pub_bChangeTagg = True
End Sub
Private Sub tb_Place_Addresse_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_Place_Addresse.TextChanged
pub_bChangeTagg = True
End Sub
Private Sub tb_Place_GPS_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_Place_GPS.TextChanged
pub_bChangeTagg = True
End Sub
'###################################################################################################################
'############### CheckBox Events: CheckStateChanged ################################################################
'###################################################################################################################
Private Sub cb_marks_visible_CheckStateChanged(ByVal sender As Object, ByVal e As System.EventArgs)
'Wenn cb_marks_visible=true then ZeichneMarks() ELSE VerstekeMarks()
End Sub
End Class