This commit is contained in:
6543 2015-10-01 22:04:00 +02:00
parent 79382dc526
commit 7d08f05461
16 changed files with 5503 additions and 937 deletions

View File

@ -0,0 +1,124 @@

Public Class Mark

'########################################################################################
'############################## Private Declarations ##################################
'########################################################################################

Private sID As String '-> Das Kommando muss angegeben werden
Private sCommand As String '-> Das Kommando muss angegeben werden
Private nLeft As Integer '\
Private nTop As Integer ' \ Die Position muss angegeben werden. Der Datentyp Rectangle wird nur intern benutzt,
Private nWidth As Integer ' / weshalb nach ausen die Eigenschaften einzeln angegeben werden müssen!
Private nHeight As Integer '/
Private sName As String '-> Der Name ist Optional
Private sDescription As String '-> Die Beschreibung ist Optional

'########################################################################################
'############################## Property ##############################################
'########################################################################################

Public Property ID As String
Get
Return Me.sID
End Get
Set(ByVal value As String)
Me.sID = value
End Set
End Property 'ID

Public Property Command As String
Get
Return Me.sCommand
End Get
Set(ByVal value As String)
Me.sCommand = value
End Set
End Property 'Command

Public Property Left() As Integer
Get
Return Me.nLeft
End Get
Set(ByVal value As Integer)
If value >= 0 Then Me.nLeft = value
End Set
End Property 'Left

Public Property Top() As Integer
Get
Return Me.nTop
End Get
Set(ByVal value As Integer)
If value >= 0 Then Me.nTop = value
End Set
End Property 'Top

Public Property Width() As Integer
Get
Return Me.nWidth
End Get
Set(ByVal value As Integer)
If value >= 0 Then Me.nWidth = value
End Set
End Property 'Width

Public Property Height() As Integer
Get
Return Me.nHeight
End Get
Set(ByVal value As Integer)
If value >= 0 Then Me.nHeight = value
End Set
End Property 'Height

Public Property Name As String
Get
Return Me.sName
End Get
Set(ByVal value As String)
Me.sName = value
End Set
End Property 'Name

Public Property Description As String
Get
Return Me.sDescription
End Get
Set(ByVal value As String)
Me.sDescription = value
End Set
End Property 'Description


'########################################################################################
'############################## PUBLIC Subs ###########################################
'########################################################################################

Public Sub Clear()
With Me
.sID = ""
.sCommand = ""
.nLeft = -1
.nTop = -1
.nWidth = -1
.nHeight = -1
.sName = ""
.sDescription = ""
End With
End Sub

Public Sub New(Optional ByVal ID As String = "", Optional ByVal Command As String = "", Optional ByVal Left As Integer = -1, Optional ByVal Top As Integer = -1, Optional ByVal Width As Integer = -1, Optional ByVal Height As Integer = -1, Optional ByVal Name As String = "", Optional ByVal Description As String = "")
With Me
.sID = ID
.sCommand = Command
.nLeft = Left
.nTop = Top
.nWidth = Width
.nHeight = Height
.sName = Name
.sDescription = Description
End With
End Sub

End Class 'Mark ### Export, Improt Vormat für Markierungen

View File

@ -0,0 +1,174 @@

Public Class MarkButton
'Erbe von Class Button
Inherits Windows.Forms.Button

'########################################################################################
'############################## Declarations ##########################################
'########################################################################################

'Variablen
Private nIndex As Integer
Private components As System.ComponentModel.IContainer
Private bRO

'Objecte
Friend WithEvents Menu As System.Windows.Forms.ContextMenuStrip
Friend WithEvents Menu_Move As System.Windows.Forms.ToolStripMenuItem 'Verschiebe Markierung
Friend WithEvents Menu_SiceChange As System.Windows.Forms.ToolStripMenuItem 'Ändere Größe
Friend WithEvents Menu_Delete As System.Windows.Forms.ToolStripMenuItem 'Verschiebe Markierung
Friend WithEvents Menu_Hide As System.Windows.Forms.ToolStripMenuItem 'Verstecke einzelne Markierung

'Events
Public Event LikeMove(ByVal sender As Object)
Public Event LikeSiceChange(ByVal sender As Object)
Public Event LikeDelete(ByVal sender As Object)


'########################################################################################
'############################## Property ##############################################
'########################################################################################

Public Property Position() As Rectangle
Get
Return New Rectangle(Me.Left, Me.Top, Me.Width, Me.Height)
End Get
Set(ByVal value As Rectangle)
Me.Width = value.Width
Me.Height = value.Height
Me.Left = value.Left
Me.Top = value.Top
End Set
End Property 'PositionOnTaggedIMG

Private bDeleted As Boolean
Public Property Deleted As Boolean
Get
Return Me.bDeleted
End Get
Set(ByVal value As Boolean)
If value Then Me.Clear()
Me.bDeleted = value
End Set
End Property

Public ReadOnly Property Index As Integer
Get
Return nIndex
End Get
End Property 'Index

'########################################################################################
'############################## PUBLIC Subs ###########################################
'########################################################################################

Public Sub Clear()
With Me
.Visible = False
.Width = 0
.Height = 0
.Left = 0
.Top = 0
.Text = ""
.FlatAppearance.BorderSize = 3
End With
End Sub 'Clear

Public Sub New(Optional ByVal Index As Integer = -1, Optional ByVal RO As Boolean = False)
'
'Main
'
Me.FlatStyle = Windows.Forms.FlatStyle.Flat
Me.BackColor = Drawing.Color.Transparent
Me.BackgroundImage = Nothing
Me.ForeColor = Drawing.Color.Transparent
Me.FlatAppearance.BorderColor = Drawing.Color.Black
Me.FlatAppearance.MouseDownBackColor = Drawing.Color.Transparent
Me.FlatAppearance.MouseOverBackColor = Drawing.Color.Transparent
Me.TabStop = False

Me.Menu = New System.Windows.Forms.ContextMenuStrip
Me.Menu_Move = New System.Windows.Forms.ToolStripMenuItem
Me.Menu_SiceChange = New System.Windows.Forms.ToolStripMenuItem
Me.Menu_Hide = New System.Windows.Forms.ToolStripMenuItem
Me.Menu_Delete = New System.Windows.Forms.ToolStripMenuItem

Me.nIndex = Index
Me.bRO = RO

'
'Menu
'
Me.Menu.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.Menu_Move, Me.Menu_SiceChange, Me.Menu_Hide, Me.Menu_Delete})
Me.Menu.Name = "Menu"
Me.Menu.Size = New System.Drawing.Size(202, 70)

'
'Menu_Move
'
Me.Menu_Move.Name = "Menu_Move"
Me.Menu_Move.Size = New System.Drawing.Size(201, 22)
Me.Menu_Move.Text = "Verschiebe Markierung"
Me.Menu_Move.Enabled = Not RO 'Schreibschutz setzen wenn übergenben
Me.Menu_Move.Enabled = False '<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<< Noch in Arbeit >>>>>>>>

'
'Menu_SiceChange
'
Me.Menu_SiceChange.Name = "Menu_SiceChange"
Me.Menu_SiceChange.Size = New System.Drawing.Size(201, 22)
Me.Menu_SiceChange.Text = "Ändere Größe"
Me.Menu_SiceChange.Enabled = Not RO 'Schreibschutz setzen wenn übergenben

'
'Menu_Hide
'
Me.Menu_Hide.Name = "Menu_Hide"
Me.Menu_Hide.Size = New System.Drawing.Size(201, 22)
Me.Menu_Hide.Text = "Verstecke Markierung"
Me.Menu_Hide.Enabled = Not RO 'Schreibschutz setzen wenn übergenben

'
'Menu_Delete
'
Me.Menu_Delete.Name = "Menu_Delete"
Me.Menu_Delete.Size = New System.Drawing.Size(201, 22)
Me.Menu_Delete.Text = "Lösche Markierung"
Me.Menu_Delete.Enabled = Not RO 'Schreibschutz setzen wenn übergenben

If nIndex >= 0 Then Me.ContextMenuStrip = Me.Menu 'Wenn Gültiget Index Aktiviere Menü

Me.Clear()
End Sub ' New(-1, False) will execute wenn declare a new instance


'########################################################################################
'############################## Sub on Event ##########################################
'########################################################################################

'Private Sub MarkButtnon_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.GotFocus
' Me.FlatAppearance.BorderSize = 4
'End Sub 'MarkButnon_GotFocus Event

'Private Sub MarkButtnon_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LostFocus
' Me.FlatAppearance.BorderSize = 3
'End Sub 'MarkButnon_LostFocus Event

Private Sub Menu_Delete_Click() Handles Menu_Delete.Click
RaiseEvent LikeDelete(Me)
End Sub 'Menu_Delete_Click = Me.LikeDelete

Private Sub Menu_Hide_Click() Handles Menu_Hide.Click
Me.Visible = False
End Sub 'Menu_Hide_Click = Me.Visible <- False

Private Sub Menu_Move_Click() Handles Menu_Move.Click
RaiseEvent LikeMove(Me)
End Sub 'Menu_Move_Click = Me.LikeMove

Private Sub Menu_SiceChange_Click() Handles Menu_SiceChange.Click
RaiseEvent LikeSiceChange(Me)
End Sub 'Menu_SiceChange_Click = Me.LikeSiceChange


End Class 'MarkButton

View File

@ -0,0 +1,97 @@

Public Class Place

'########################################################################################
'############################## Declare Events ########################################
'########################################################################################

Public Event PropertyTitleChanged()
Public Event PropertyAdressChanged()
Public Event PropertyDescriptionChanged()
Public Event PropertyGPSChanged()


'########################################################################################
'############################## Property ##############################################
'########################################################################################

Private sTitle As String
Public Property Title() As String
Get
Return sTitle
End Get
Set(ByVal value As String)
If Not value = sTitle Then
sTitle = value
RaiseEvent PropertyTitleChanged()
End If
End Set
End Property

Private sAdress As String
Public Property Adress() As String
Get
Return sAdress
End Get
Set(ByVal value As String)
If Not value = sAdress Then
sAdress = value
RaiseEvent PropertyAdressChanged()
End If
End Set
End Property

Private sDescription As String
Public Property Description() As String
Get
Return sDescription
End Get
Set(ByVal value As String)
If Not value = sDescription Then
sDescription = value
RaiseEvent PropertyDescriptionChanged()
End If
End Set
End Property

Private sGPS As String
Public Property GPS() As String
Get
Return sGPS
End Get
Set(ByVal value As String) 'Später eventuelle überprüfung auf format und deren Umwandlung -GPS Formate-
If Not value = sGPS Then
sGPS = value
RaiseEvent PropertyGPSChanged()
End If
End Set
End Property


'########################################################################################
'############################## PUBLIC Subs ###########################################
'########################################################################################

Public Sub Clear()
Me.sAdress = Nothing
Me.sDescription = Nothing
Me.sGPS = Nothing
Me.sTitle = Nothing
End Sub 'Lehren des Objects


'########################################################################################
'############################## Public Overrides ######################################
'########################################################################################

Public Overrides Function GetHashCode() As Integer
Dim sb As New System.Text.StringBuilder
sb.Append(Me.sAdress)
sb.Append(Me.sDescription)
sb.Append(Me.sGPS)
sb.Append(Me.sTitle)
Return sb.ToString.GetHashCode()
End Function 'GetHashCode


End Class 'Class Place

View File

@ -0,0 +1,170 @@

Public Class Rectangle
'########################################################################################
'############################## Private Declarations ##################################
'########################################################################################

Private nLeft As Integer = 0
Private nTop As Integer = 0
Private nWidth As Integer = 0
Private nHeight As Integer = 0


'########################################################################################
'############################## Property ##############################################
'########################################################################################

Public Property Left() As Integer
Get
Return Me.nLeft
End Get
Set(ByVal value As Integer)
If value < 0 Then value = 0
Me.nLeft = value
End Set
End Property 'Left

Public Property Top() As Integer
Get
Return Me.nTop
End Get
Set(ByVal value As Integer)
If value < 0 Then value = 0
Me.nTop = value
End Set
End Property 'Top

Public Property Width() As Integer
Get
Return Me.nWidth
End Get
Set(ByVal value As Integer)
If value < 0 Then value = 0
Me.nWidth = value
End Set
End Property 'Width

Public Property Height() As Integer
Get
Return Me.nHeight
End Get
Set(ByVal value As Integer)
If value < 0 Then value = 0
Me.nHeight = value
End Set
End Property 'Height

Public ReadOnly Property PointA As Drawing.Point
Get
Return New Drawing.Point(nLeft, nTop)
End Get
End Property 'RO PointA

Public ReadOnly Property PointB As Drawing.Point
Get
Return New Drawing.Point(nLeft + nWidth, nTop + nHeight)
End Get
End Property 'RO PointB


'########################################################################################
'############################## PUBLIC Functions ######################################
'########################################################################################


Public Function AsString() As String
With Me
If .nLeft = Nothing Then nLeft = 0
If .nTop = Nothing Then nTop = 0
If .nWidth = Nothing Then nWidth = 0
If .nHeight = Nothing Then nHeight = 0
AsString = "Left: " & Convert.ToString(.nLeft) & "; Top: " & Convert.ToString(.nTop) & "; Width: " & Convert.ToString(.nWidth) & "; Height: " & Convert.ToString(.nHeight)
End With
End Function 'AsString


'########################################################################################
'############################## PUBLIC Subs ###########################################
'########################################################################################

'New(Left, Top, Width, Height)
Public Sub New(Optional ByVal Left As Integer = Nothing, Optional ByVal Top As Integer = Nothing, Optional ByVal Width As Integer = Nothing, Optional ByVal Height As Integer = Nothing)
With Me
.Left = Left
.Top = Top
.Width = Width
.Height = Height
End With
End Sub 'New

Public Sub Clear()
With Me
.Left = 0
.Top = 0
.Width = 0
.Height = 0
End With
End Sub

'########################################################################################
'############################## PUBLIC Shared Functions ###############################
'########################################################################################

Public Shared Function Points_to_Rectangle(ByVal PointA As System.Drawing.Point, ByVal PointB As System.Drawing.Point) As Rectangle
Dim rRectangle As New Rectangle
Dim A_x As Integer = PointA.X
Dim A_y As Integer = PointA.Y
Dim B_x As Integer = PointB.X
Dim B_y As Integer = PointB.Y

If A_x < B_x Then
If A_y < B_y Then
PointA.X = A_x
PointA.Y = A_y
PointB.X = B_x
PointB.Y = B_y
ElseIf A_y > B_y Then
PointA.X = A_x
PointA.Y = B_y
PointB.X = B_x
PointB.Y = A_y
End If

ElseIf A_x > B_x Then
If A_y < B_y Then
PointA.X = B_x
PointA.Y = A_y
PointB.X = A_x
PointB.Y = B_y
ElseIf A_y > B_y Then
PointA.X = B_x
PointA.Y = B_y
PointB.X = A_x
PointB.Y = A_y
End If
End If
rRectangle.Left = PointA.X
rRectangle.Top = PointA.Y
rRectangle.Width = PointB.X - PointA.X
rRectangle.Height = PointB.Y - PointA.Y

Points_to_Rectangle = rRectangle

End Function 'Points_to_Rectangle


'########################################################################################
'############################## Public Overrides ######################################
'########################################################################################

Public Overrides Function GetHashCode() As Integer
Dim sb As New System.Text.StringBuilder
sb.Append(Convert.ToString(Me.nHeight))
sb.Append(Convert.ToString(Me.nLeft))
sb.Append(Convert.ToString(Me.nTop))
sb.Append(Convert.ToString(Me.nWidth))
Return sb.ToString.GetHashCode()
End Function 'GetHashCode


End Class 'Class Rectangle

File diff suppressed because it is too large Load Diff

View File

@ -1,165 +0,0 @@
Namespace Stammbaum.Classen
Namespace PictureTagger
'HauptClasse von PictureTagger ################################
Public Class TaggedIMG

Private sID As String 'Datenbankeintrag - In diesemfall Dateinahme :) da INI
Public Property ID() As String
Get
Return sID
End Get
Set(ByVal value As String)
sID = value
End Set
End Property

Private sTitle As String
Public Property Title() As String
Get
Return sTitle
End Get
Set(ByVal value As String)
sTitle = value
End Set
End Property

Private sDescription As String
Public Property Description() As String
Get
Return sDescription
End Get
Set(ByVal value As String)
sDescription = value
End Set
End Property

Private sTime As String
Public Property Time() As String
Get
Return sTime
End Get
Set(ByVal value As String)
sTime = value
End Set
End Property

Private iImage As Image
Public Property Image() As Image
Get
Return iImage
End Get
Set(ByVal value As Image)
iImage = value
End Set
End Property

Private sPath As String
Public Property Path() As String
Get
Return sPath
End Get
Set(ByVal value As String)
sPath = value
End Set
End Property

Private oOrt As New Stammbaum.Classen.Place
Public Property Ort() As Stammbaum.Classen.Place 'AufnahmeOrt
Get
Return oOrt
End Get
Set(ByVal value As Stammbaum.Classen.Place)
oOrt = value
End Set
End Property

Public Markierung() As Stammbaum.Classen.PictureTagger.Mark
'Hier werden Funktionen und Rotienen Geschreiben die die Markierungen steuern ....
'Ob Array oder eigene Classe steht noch nicht vest, leider

Public Sub Clear()
Me.sID = Nothing
Me.iImage = Nothing
Me.sTitle = Nothing
Me.sDescription = Nothing
Me.sTime = Nothing
Me.sPath = Nothing
Me.oOrt.Clear()
ReDim Me.Markierung(0) '####################### <<<<======= Hier werden Funktionen und Rotienen Geschreiben die die Markierungen steuern ....
End Sub 'Lehren des Objects

Public Sub Create_NewMark(ByVal ID As Long, ByVal PositionX As Long, ByVal PositionY As Long, Optional ByVal Radius As Long = 10, Optional ByVal Description As String = "")
' Dim Index As Integer
' 'If Me.Mark(0) is not Initalisiert Then
' ' Index = 0
' 'Else
' Index = 1 + UBound(Me.Markierung)
' 'End if
' ReDim Me.Markierung(Index)
' Me.Markierung(Index).ID = ID
' Me.Markierung(Index).PositionX = PositionX
' Me.Markierung(Index).PositionY = PositionY
' Me.Markierung(Index).Radius = Radius
' Me.Markierung(Index).Description = Description
End Sub 'In Arbeit - Erst wenn Mark eindeutig Vestgelegt :(

End Class 'TaggedIMG
'#######################################################
Public Class Mark
Public PositionX As Long
Public PositionY As Long
Public ID As Long
Public Radius As Long
Public Description As String
End Class 'Mark <<-- In Work!! Don't forget! ;) MainFeture
End Namespace 'PictureTagger
'#################################################
Public Class Place
Private sTitle As String
Public Property Title() As String
Get
Return sTitle
End Get
Set(ByVal value As String)
sTitle = value
End Set
End Property

Private sAdresse As String
Public Property Adresse() As String
Get
Return sAdresse
End Get
Set(ByVal value As String)
sAdresse = value
End Set
End Property

Private sDescription As String
Public Property Description() As String
Get
Return sDescription
End Get
Set(ByVal value As String)
sDescription = value
End Set
End Property

Private sGPS As String
Public Property GPS() As String
Get
Return sGPS
End Get
Set(ByVal value As String) 'Später eventuelle überprüfung auf format und deren Umwandlung -GPS Formate-
sGPS = value
End Set
End Property

Public Sub Clear()
Me.sAdresse = Nothing
Me.sDescription = Nothing
Me.sGPS = Nothing
End Sub 'Lehren des Objects

End Class 'Place
End Namespace 'Stammbaum.Classen

View File

@ -1,5 +1,5 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Main
Partial Class SB_PictureTagger
Inherits System.Windows.Forms.Form

'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
@ -22,271 +22,221 @@ Partial Class Main
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.PictureBox1 = New System.Windows.Forms.PictureBox()
Me.b_next = New System.Windows.Forms.Button()
Me.b_last = New System.Windows.Forms.Button()
Me.b_exit = New System.Windows.Forms.Button()
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
Me.Label3 = New System.Windows.Forms.Label()
Me.Label2 = New System.Windows.Forms.Label()
Me.Label1 = New System.Windows.Forms.Label()
Me.tb_Bild_Time = New System.Windows.Forms.TextBox()
Me.rtb_Bild_Description = New System.Windows.Forms.RichTextBox()
Me.tb_Bild_Title = New System.Windows.Forms.TextBox()
Me.GroupBox2 = New System.Windows.Forms.GroupBox()
Me.DataGridView1 = New System.Windows.Forms.DataGridView()
Me.Column1 = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.Position = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.Radius = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.Column2 = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.b_loaddir = New System.Windows.Forms.Button()
Me.b_save = New System.Windows.Forms.Button()
Dim Place1 As Place = New Place()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(SB_PictureTagger))
Me.Panel_Botom = New System.Windows.Forms.Panel()
Me.Label7 = New System.Windows.Forms.Label()
Me.b_reloaddir = New System.Windows.Forms.Button()
Me.GroupBox3 = New System.Windows.Forms.GroupBox()
Me.b_loaddir = New System.Windows.Forms.Button()
Me.b_exit = New System.Windows.Forms.Button()
Me.b_last = New System.Windows.Forms.Button()
Me.b_next = New System.Windows.Forms.Button()
Me.Panel_Right = New System.Windows.Forms.Panel()
Me.GroupBox4 = New System.Windows.Forms.GroupBox()
Me.Label8 = New System.Windows.Forms.Label()
Me.NumericUpDown_OrdnerTiefe = New System.Windows.Forms.NumericUpDown()
Me.cb_marks_visible = New System.Windows.Forms.CheckBox()
Me.GB_Ort = New System.Windows.Forms.GroupBox()
Me.tb_Place_Description = New System.Windows.Forms.TextBox()
Me.Label9 = New System.Windows.Forms.Label()
Me.tb_Place_Title = New System.Windows.Forms.TextBox()
Me.rtb_Place_Description = New System.Windows.Forms.RichTextBox()
Me.tb_Place_Name = New System.Windows.Forms.TextBox()
Me.Label4 = New System.Windows.Forms.Label()
Me.Label5 = New System.Windows.Forms.Label()
Me.Label6 = New System.Windows.Forms.Label()
Me.tb_Place_GPS = New System.Windows.Forms.TextBox()
Me.tb_Place_Addresse = New System.Windows.Forms.TextBox()
Me.GroupBox4 = New System.Windows.Forms.GroupBox()
Me.Label8 = New System.Windows.Forms.Label()
Me.NumericUpDown_OrdnerTiefe = New System.Windows.Forms.NumericUpDown()
Me.cb_AutoSave = New System.Windows.Forms.CheckBox()
Me.cb_marks_visible = New System.Windows.Forms.CheckBox()
Me.Label7 = New System.Windows.Forms.Label()
Me.ShapeContainer1 = New Microsoft.VisualBasic.PowerPacks.ShapeContainer()
Me.OvalShape1 = New Microsoft.VisualBasic.PowerPacks.OvalShape()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.GroupBox1.SuspendLayout()
Me.GroupBox2.SuspendLayout()
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.GroupBox3.SuspendLayout()
Me.GB_Mark = New System.Windows.Forms.GroupBox()
Me.tb_AktMark_Description = New System.Windows.Forms.TextBox()
Me.Label11 = New System.Windows.Forms.Label()
Me.tb_AktMark_Name = New System.Windows.Forms.TextBox()
Me.Label10 = New System.Windows.Forms.Label()
Me.GB_Bild = New System.Windows.Forms.GroupBox()
Me.tb_Bild_Description = New System.Windows.Forms.TextBox()
Me.Label3 = New System.Windows.Forms.Label()
Me.Label2 = New System.Windows.Forms.Label()
Me.Label1 = New System.Windows.Forms.Label()
Me.tb_Bild_Time = New System.Windows.Forms.TextBox()
Me.tb_Bild_Name = New System.Windows.Forms.TextBox()
Me.TaggedIMG1 = New TaggedIMG()
Me.Panel_Botom.SuspendLayout()
Me.Panel_Right.SuspendLayout()
Me.GroupBox4.SuspendLayout()
CType(Me.NumericUpDown_OrdnerTiefe, System.ComponentModel.ISupportInitialize).BeginInit()
Me.GB_Ort.SuspendLayout()
Me.GB_Mark.SuspendLayout()
Me.GB_Bild.SuspendLayout()
CType(Me.TaggedIMG1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'PictureBox1
'Panel_Botom
'
Me.PictureBox1.Location = New System.Drawing.Point(12, 12)
Me.PictureBox1.Name = "PictureBox1"
Me.PictureBox1.Size = New System.Drawing.Size(717, 618)
Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom
Me.PictureBox1.TabIndex = 0
Me.PictureBox1.TabStop = False
Me.Panel_Botom.Controls.Add(Me.Label7)
Me.Panel_Botom.Controls.Add(Me.b_reloaddir)
Me.Panel_Botom.Controls.Add(Me.b_loaddir)
Me.Panel_Botom.Controls.Add(Me.b_exit)
Me.Panel_Botom.Controls.Add(Me.b_last)
Me.Panel_Botom.Controls.Add(Me.b_next)
Me.Panel_Botom.Location = New System.Drawing.Point(1, 636)
Me.Panel_Botom.Name = "Panel_Botom"
Me.Panel_Botom.Size = New System.Drawing.Size(1104, 87)
Me.Panel_Botom.TabIndex = 12
'
'b_next
'Label7
'
Me.b_next.Font = New System.Drawing.Font("Comic Sans MS", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.b_next.Location = New System.Drawing.Point(196, 651)
Me.b_next.Name = "b_next"
Me.b_next.Size = New System.Drawing.Size(178, 51)
Me.b_next.TabIndex = 2
Me.b_next.Text = "Nächstes Bild"
Me.b_next.UseVisualStyleBackColor = True
'
'b_last
'
Me.b_last.Font = New System.Drawing.Font("Comic Sans MS", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.b_last.Location = New System.Drawing.Point(12, 651)
Me.b_last.Name = "b_last"
Me.b_last.Size = New System.Drawing.Size(178, 51)
Me.b_last.TabIndex = 3
Me.b_last.Text = "Leztes Bild"
Me.b_last.UseVisualStyleBackColor = True
'
'b_exit
'
Me.b_exit.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.b_exit.Location = New System.Drawing.Point(916, 651)
Me.b_exit.Name = "b_exit"
Me.b_exit.Size = New System.Drawing.Size(178, 51)
Me.b_exit.TabIndex = 4
Me.b_exit.Text = "Beenden"
Me.b_exit.UseVisualStyleBackColor = True
'
'GroupBox1
'
Me.GroupBox1.Controls.Add(Me.Label3)
Me.GroupBox1.Controls.Add(Me.Label2)
Me.GroupBox1.Controls.Add(Me.Label1)
Me.GroupBox1.Controls.Add(Me.tb_Bild_Time)
Me.GroupBox1.Controls.Add(Me.rtb_Bild_Description)
Me.GroupBox1.Controls.Add(Me.tb_Bild_Title)
Me.GroupBox1.Location = New System.Drawing.Point(742, 16)
Me.GroupBox1.Name = "GroupBox1"
Me.GroupBox1.Size = New System.Drawing.Size(352, 162)
Me.GroupBox1.TabIndex = 6
Me.GroupBox1.TabStop = False
Me.GroupBox1.Text = "Bild"
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Location = New System.Drawing.Point(8, 74)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(69, 13)
Me.Label3.TabIndex = 5
Me.Label3.Text = "Kommentare:"
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Location = New System.Drawing.Point(8, 45)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(59, 13)
Me.Label2.TabIndex = 4
Me.Label2.Text = "Zeit/-raum:"
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(6, 22)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(30, 13)
Me.Label1.TabIndex = 3
Me.Label1.Text = "Titel:"
'
'tb_Bild_Time
'
Me.tb_Bild_Time.Location = New System.Drawing.Point(83, 45)
Me.tb_Bild_Time.Name = "tb_Bild_Time"
Me.tb_Bild_Time.Size = New System.Drawing.Size(263, 20)
Me.tb_Bild_Time.TabIndex = 2
'
'rtb_Bild_Description
'
Me.rtb_Bild_Description.Location = New System.Drawing.Point(83, 70)
Me.rtb_Bild_Description.Name = "rtb_Bild_Description"
Me.rtb_Bild_Description.Size = New System.Drawing.Size(263, 86)
Me.rtb_Bild_Description.TabIndex = 1
Me.rtb_Bild_Description.Text = "Markierungen Hinzufügen !"
'
'tb_Bild_Title
'
Me.tb_Bild_Title.Location = New System.Drawing.Point(83, 19)
Me.tb_Bild_Title.Name = "tb_Bild_Title"
Me.tb_Bild_Title.Size = New System.Drawing.Size(263, 20)
Me.tb_Bild_Title.TabIndex = 0
'
'GroupBox2
'
Me.GroupBox2.Controls.Add(Me.DataGridView1)
Me.GroupBox2.Location = New System.Drawing.Point(742, 345)
Me.GroupBox2.Name = "GroupBox2"
Me.GroupBox2.Size = New System.Drawing.Size(352, 218)
Me.GroupBox2.TabIndex = 7
Me.GroupBox2.TabStop = False
Me.GroupBox2.Text = "Markierungen"
'
'DataGridView1
'
Me.DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.DataGridView1.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.Column1, Me.Position, Me.Radius, Me.Column2})
Me.DataGridView1.Location = New System.Drawing.Point(11, 19)
Me.DataGridView1.Name = "DataGridView1"
Me.DataGridView1.Size = New System.Drawing.Size(329, 221)
Me.DataGridView1.TabIndex = 1
'
'Column1
'
Me.Column1.HeaderText = "Nr."
Me.Column1.Name = "Column1"
'
'Position
'
Me.Position.HeaderText = "Position"
Me.Position.Name = "Position"
Me.Position.Visible = False
'
'Radius
'
Me.Radius.HeaderText = "Radius"
Me.Radius.Name = "Radius"
Me.Radius.Visible = False
'
'Column2
'
Me.Column2.HeaderText = "Beschreibung"
Me.Column2.Name = "Column2"
'
'b_loaddir
'
Me.b_loaddir.Font = New System.Drawing.Font("Comic Sans MS", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.b_loaddir.Location = New System.Drawing.Point(732, 651)
Me.b_loaddir.Name = "b_loaddir"
Me.b_loaddir.Size = New System.Drawing.Size(178, 51)
Me.b_loaddir.TabIndex = 8
Me.b_loaddir.Text = "Ordner Öffnen"
Me.b_loaddir.UseVisualStyleBackColor = True
'
'b_save
'
Me.b_save.Font = New System.Drawing.Font("Comic Sans MS", 11.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.b_save.Location = New System.Drawing.Point(380, 651)
Me.b_save.Name = "b_save"
Me.b_save.Size = New System.Drawing.Size(178, 51)
Me.b_save.TabIndex = 9
Me.b_save.Text = "Änderungen Speichern"
Me.b_save.UseVisualStyleBackColor = True
Me.Label7.AutoSize = True
Me.Label7.Location = New System.Drawing.Point(11, 68)
Me.Label7.Name = "Label7"
Me.Label7.Size = New System.Drawing.Size(65, 13)
Me.Label7.TabIndex = 7
Me.Label7.Text = "Pfadangabe"
'
'b_reloaddir
'
Me.b_reloaddir.Font = New System.Drawing.Font("Comic Sans MS", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.b_reloaddir.Location = New System.Drawing.Point(564, 651)
Me.b_reloaddir.Location = New System.Drawing.Point(420, 14)
Me.b_reloaddir.Name = "b_reloaddir"
Me.b_reloaddir.Size = New System.Drawing.Size(165, 51)
Me.b_reloaddir.TabIndex = 10
Me.b_reloaddir.TabIndex = 11
Me.b_reloaddir.Text = "Neu Laden"
Me.b_reloaddir.UseVisualStyleBackColor = True
'
'GroupBox3
'b_loaddir
'
Me.GroupBox3.Controls.Add(Me.Label9)
Me.GroupBox3.Controls.Add(Me.tb_Place_Title)
Me.GroupBox3.Controls.Add(Me.rtb_Place_Description)
Me.GroupBox3.Controls.Add(Me.Label4)
Me.GroupBox3.Controls.Add(Me.Label5)
Me.GroupBox3.Controls.Add(Me.Label6)
Me.GroupBox3.Controls.Add(Me.tb_Place_GPS)
Me.GroupBox3.Controls.Add(Me.tb_Place_Addresse)
Me.GroupBox3.Location = New System.Drawing.Point(742, 184)
Me.GroupBox3.Name = "GroupBox3"
Me.GroupBox3.Size = New System.Drawing.Size(352, 155)
Me.GroupBox3.TabIndex = 11
Me.GroupBox3.TabStop = False
Me.GroupBox3.Text = "Aufnahme Ort"
Me.b_loaddir.Font = New System.Drawing.Font("Comic Sans MS", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.b_loaddir.Location = New System.Drawing.Point(611, 14)
Me.b_loaddir.Name = "b_loaddir"
Me.b_loaddir.Size = New System.Drawing.Size(178, 51)
Me.b_loaddir.TabIndex = 12
Me.b_loaddir.Text = "Ordner Öffnen"
Me.b_loaddir.UseVisualStyleBackColor = True
'
'b_exit
'
Me.b_exit.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.b_exit.Location = New System.Drawing.Point(915, 14)
Me.b_exit.Name = "b_exit"
Me.b_exit.Size = New System.Drawing.Size(178, 51)
Me.b_exit.TabIndex = 13
Me.b_exit.Text = "Beenden"
Me.b_exit.UseVisualStyleBackColor = True
'
'b_last
'
Me.b_last.Font = New System.Drawing.Font("Comic Sans MS", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.b_last.Location = New System.Drawing.Point(11, 14)
Me.b_last.Name = "b_last"
Me.b_last.Size = New System.Drawing.Size(178, 51)
Me.b_last.TabIndex = 8
Me.b_last.Text = "Vorheriges Bild"
Me.b_last.UseVisualStyleBackColor = True
'
'b_next
'
Me.b_next.Font = New System.Drawing.Font("Comic Sans MS", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.b_next.Location = New System.Drawing.Point(216, 14)
Me.b_next.Name = "b_next"
Me.b_next.Size = New System.Drawing.Size(178, 51)
Me.b_next.TabIndex = 9
Me.b_next.Text = "Nächstes Bild"
Me.b_next.UseVisualStyleBackColor = True
'
'Panel_Right
'
Me.Panel_Right.Controls.Add(Me.GroupBox4)
Me.Panel_Right.Controls.Add(Me.GB_Ort)
Me.Panel_Right.Controls.Add(Me.GB_Mark)
Me.Panel_Right.Controls.Add(Me.GB_Bild)
Me.Panel_Right.Location = New System.Drawing.Point(735, 12)
Me.Panel_Right.Name = "Panel_Right"
Me.Panel_Right.Size = New System.Drawing.Size(370, 618)
Me.Panel_Right.TabIndex = 13
'
'GroupBox4
'
Me.GroupBox4.Controls.Add(Me.Label8)
Me.GroupBox4.Controls.Add(Me.NumericUpDown_OrdnerTiefe)
Me.GroupBox4.Controls.Add(Me.cb_marks_visible)
Me.GroupBox4.Location = New System.Drawing.Point(9, 568)
Me.GroupBox4.Name = "GroupBox4"
Me.GroupBox4.Size = New System.Drawing.Size(352, 48)
Me.GroupBox4.TabIndex = 15
Me.GroupBox4.TabStop = False
Me.GroupBox4.Text = "Optionen"
'
'Label8
'
Me.Label8.AutoSize = True
Me.Label8.Location = New System.Drawing.Point(199, 19)
Me.Label8.Name = "Label8"
Me.Label8.Size = New System.Drawing.Size(63, 13)
Me.Label8.TabIndex = 6
Me.Label8.Text = "OrdnerTiefe"
'
'NumericUpDown_OrdnerTiefe
'
Me.NumericUpDown_OrdnerTiefe.Location = New System.Drawing.Point(162, 16)
Me.NumericUpDown_OrdnerTiefe.Maximum = New Decimal(New Integer() {3, 0, 0, 0})
Me.NumericUpDown_OrdnerTiefe.Name = "NumericUpDown_OrdnerTiefe"
Me.NumericUpDown_OrdnerTiefe.Size = New System.Drawing.Size(31, 20)
Me.NumericUpDown_OrdnerTiefe.TabIndex = 2
'
'cb_marks_visible
'
Me.cb_marks_visible.AutoSize = True
Me.cb_marks_visible.Checked = True
Me.cb_marks_visible.CheckState = System.Windows.Forms.CheckState.Checked
Me.cb_marks_visible.Location = New System.Drawing.Point(11, 19)
Me.cb_marks_visible.Name = "cb_marks_visible"
Me.cb_marks_visible.Size = New System.Drawing.Size(121, 17)
Me.cb_marks_visible.TabIndex = 0
Me.cb_marks_visible.Text = "Zeige Markierungen"
Me.cb_marks_visible.UseVisualStyleBackColor = True
'
'GB_Ort
'
Me.GB_Ort.Controls.Add(Me.tb_Place_Description)
Me.GB_Ort.Controls.Add(Me.Label9)
Me.GB_Ort.Controls.Add(Me.tb_Place_Name)
Me.GB_Ort.Controls.Add(Me.Label4)
Me.GB_Ort.Controls.Add(Me.Label5)
Me.GB_Ort.Controls.Add(Me.Label6)
Me.GB_Ort.Controls.Add(Me.tb_Place_GPS)
Me.GB_Ort.Controls.Add(Me.tb_Place_Addresse)
Me.GB_Ort.Location = New System.Drawing.Point(7, 171)
Me.GB_Ort.Name = "GB_Ort"
Me.GB_Ort.Size = New System.Drawing.Size(352, 199)
Me.GB_Ort.TabIndex = 13
Me.GB_Ort.TabStop = False
Me.GB_Ort.Text = "Aufnahme Ort"
'
'tb_Place_Description
'
Me.tb_Place_Description.Location = New System.Drawing.Point(83, 97)
Me.tb_Place_Description.Multiline = True
Me.tb_Place_Description.Name = "tb_Place_Description"
Me.tb_Place_Description.Size = New System.Drawing.Size(263, 96)
Me.tb_Place_Description.TabIndex = 12
'
'Label9
'
Me.Label9.AutoSize = True
Me.Label9.Location = New System.Drawing.Point(8, 23)
Me.Label9.Location = New System.Drawing.Point(8, 19)
Me.Label9.Name = "Label9"
Me.Label9.Size = New System.Drawing.Size(30, 13)
Me.Label9.Size = New System.Drawing.Size(38, 13)
Me.Label9.TabIndex = 8
Me.Label9.Text = "Title:"
Me.Label9.Text = "Name:"
'
'tb_Place_Title
'tb_Place_Name
'
Me.tb_Place_Title.Location = New System.Drawing.Point(83, 16)
Me.tb_Place_Title.Name = "tb_Place_Title"
Me.tb_Place_Title.Size = New System.Drawing.Size(263, 20)
Me.tb_Place_Title.TabIndex = 7
'
'rtb_Place_Description
'
Me.rtb_Place_Description.Location = New System.Drawing.Point(83, 97)
Me.rtb_Place_Description.Name = "rtb_Place_Description"
Me.rtb_Place_Description.Size = New System.Drawing.Size(263, 52)
Me.rtb_Place_Description.TabIndex = 6
Me.rtb_Place_Description.Text = ""
Me.tb_Place_Name.Location = New System.Drawing.Point(83, 16)
Me.tb_Place_Name.Name = "tb_Place_Name"
Me.tb_Place_Name.Size = New System.Drawing.Size(263, 20)
Me.tb_Place_Name.TabIndex = 0
'
'Label4
'
Me.Label4.AutoSize = True
Me.Label4.Location = New System.Drawing.Point(6, 97)
Me.Label4.Location = New System.Drawing.Point(8, 100)
Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(69, 13)
Me.Label4.TabIndex = 5
@ -295,7 +245,7 @@ Partial Class Main
'Label5
'
Me.Label5.AutoSize = True
Me.Label5.Location = New System.Drawing.Point(6, 71)
Me.Label5.Location = New System.Drawing.Point(6, 74)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(67, 13)
Me.Label5.TabIndex = 4
@ -322,153 +272,207 @@ Partial Class Main
Me.tb_Place_Addresse.Location = New System.Drawing.Point(83, 42)
Me.tb_Place_Addresse.Name = "tb_Place_Addresse"
Me.tb_Place_Addresse.Size = New System.Drawing.Size(263, 20)
Me.tb_Place_Addresse.TabIndex = 0
Me.tb_Place_Addresse.TabIndex = 1
'
'GroupBox4
'GB_Mark
'
Me.GroupBox4.Controls.Add(Me.Label8)
Me.GroupBox4.Controls.Add(Me.NumericUpDown_OrdnerTiefe)
Me.GroupBox4.Controls.Add(Me.cb_AutoSave)
Me.GroupBox4.Controls.Add(Me.cb_marks_visible)
Me.GroupBox4.Location = New System.Drawing.Point(742, 569)
Me.GroupBox4.Name = "GroupBox4"
Me.GroupBox4.Size = New System.Drawing.Size(346, 61)
Me.GroupBox4.TabIndex = 12
Me.GroupBox4.TabStop = False
Me.GroupBox4.Text = "Optionen"
Me.GB_Mark.Controls.Add(Me.tb_AktMark_Description)
Me.GB_Mark.Controls.Add(Me.Label11)
Me.GB_Mark.Controls.Add(Me.tb_AktMark_Name)
Me.GB_Mark.Controls.Add(Me.Label10)
Me.GB_Mark.Location = New System.Drawing.Point(9, 392)
Me.GB_Mark.Name = "GB_Mark"
Me.GB_Mark.Size = New System.Drawing.Size(352, 150)
Me.GB_Mark.TabIndex = 14
Me.GB_Mark.TabStop = False
Me.GB_Mark.Text = "Ausgewählte Markierung"
'
'Label8
'tb_AktMark_Description
'
Me.Label8.AutoSize = True
Me.Label8.Location = New System.Drawing.Point(199, 19)
Me.Label8.Name = "Label8"
Me.Label8.Size = New System.Drawing.Size(63, 13)
Me.Label8.TabIndex = 6
Me.Label8.Text = "OrdnerTiefe"
Me.tb_AktMark_Description.Location = New System.Drawing.Point(83, 45)
Me.tb_AktMark_Description.Multiline = True
Me.tb_AktMark_Description.Name = "tb_AktMark_Description"
Me.tb_AktMark_Description.Size = New System.Drawing.Size(263, 99)
Me.tb_AktMark_Description.TabIndex = 12
'
'NumericUpDown_OrdnerTiefe
'Label11
'
Me.NumericUpDown_OrdnerTiefe.Location = New System.Drawing.Point(162, 16)
Me.NumericUpDown_OrdnerTiefe.Maximum = New Decimal(New Integer() {3, 0, 0, 0})
Me.NumericUpDown_OrdnerTiefe.Name = "NumericUpDown_OrdnerTiefe"
Me.NumericUpDown_OrdnerTiefe.Size = New System.Drawing.Size(31, 20)
Me.NumericUpDown_OrdnerTiefe.TabIndex = 5
Me.Label11.AutoSize = True
Me.Label11.Location = New System.Drawing.Point(8, 22)
Me.Label11.Name = "Label11"
Me.Label11.Size = New System.Drawing.Size(38, 13)
Me.Label11.TabIndex = 10
Me.Label11.Text = "Name:"
'
'cb_AutoSave
'tb_AktMark_Name
'
Me.cb_AutoSave.AutoSize = True
Me.cb_AutoSave.Location = New System.Drawing.Point(11, 38)
Me.cb_AutoSave.Name = "cb_AutoSave"
Me.cb_AutoSave.Size = New System.Drawing.Size(135, 17)
Me.cb_AutoSave.TabIndex = 4
Me.cb_AutoSave.Text = "Automatisch Speichern"
Me.cb_AutoSave.UseVisualStyleBackColor = True
Me.tb_AktMark_Name.Location = New System.Drawing.Point(83, 19)
Me.tb_AktMark_Name.Name = "tb_AktMark_Name"
Me.tb_AktMark_Name.Size = New System.Drawing.Size(263, 20)
Me.tb_AktMark_Name.TabIndex = 9
'
'cb_marks_visible
'Label10
'
Me.cb_marks_visible.AutoSize = True
Me.cb_marks_visible.Location = New System.Drawing.Point(11, 19)
Me.cb_marks_visible.Name = "cb_marks_visible"
Me.cb_marks_visible.Size = New System.Drawing.Size(121, 17)
Me.cb_marks_visible.TabIndex = 3
Me.cb_marks_visible.Text = "Zeige Markierungen"
Me.cb_marks_visible.UseVisualStyleBackColor = True
Me.Label10.AutoSize = True
Me.Label10.Location = New System.Drawing.Point(8, 48)
Me.Label10.Name = "Label10"
Me.Label10.Size = New System.Drawing.Size(69, 13)
Me.Label10.TabIndex = 7
Me.Label10.Text = "Kommentare:"
'
'Label7
'GB_Bild
'
Me.Label7.AutoSize = True
Me.Label7.Location = New System.Drawing.Point(9, 633)
Me.Label7.Name = "Label7"
Me.Label7.Size = New System.Drawing.Size(65, 13)
Me.Label7.TabIndex = 13
Me.Label7.Text = "Pfadangabe"
Me.GB_Bild.Controls.Add(Me.tb_Bild_Description)
Me.GB_Bild.Controls.Add(Me.Label3)
Me.GB_Bild.Controls.Add(Me.Label2)
Me.GB_Bild.Controls.Add(Me.Label1)
Me.GB_Bild.Controls.Add(Me.tb_Bild_Time)
Me.GB_Bild.Controls.Add(Me.tb_Bild_Name)
Me.GB_Bild.Location = New System.Drawing.Point(9, 2)
Me.GB_Bild.Name = "GB_Bild"
Me.GB_Bild.Size = New System.Drawing.Size(352, 151)
Me.GB_Bild.TabIndex = 12
Me.GB_Bild.TabStop = False
Me.GB_Bild.Text = "Bild"
'
'ShapeContainer1
'tb_Bild_Description
'
Me.ShapeContainer1.Location = New System.Drawing.Point(0, 0)
Me.ShapeContainer1.Margin = New System.Windows.Forms.Padding(0)
Me.ShapeContainer1.Name = "ShapeContainer1"
Me.ShapeContainer1.Shapes.AddRange(New Microsoft.VisualBasic.PowerPacks.Shape() {Me.OvalShape1})
Me.ShapeContainer1.Size = New System.Drawing.Size(1106, 723)
Me.ShapeContainer1.TabIndex = 14
Me.ShapeContainer1.TabStop = False
Me.tb_Bild_Description.Location = New System.Drawing.Point(83, 70)
Me.tb_Bild_Description.Multiline = True
Me.tb_Bild_Description.Name = "tb_Bild_Description"
Me.tb_Bild_Description.Size = New System.Drawing.Size(263, 75)
Me.tb_Bild_Description.TabIndex = 11
'
'OvalShape1
'Label3
'
Me.OvalShape1.Location = New System.Drawing.Point(156, 216)
Me.OvalShape1.Name = "OvalShape1"
Me.OvalShape1.Size = New System.Drawing.Size(81, 77)
Me.Label3.AutoSize = True
Me.Label3.Location = New System.Drawing.Point(8, 74)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(69, 13)
Me.Label3.TabIndex = 5
Me.Label3.Text = "Kommentare:"
'
'Main
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Location = New System.Drawing.Point(8, 48)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(59, 13)
Me.Label2.TabIndex = 4
Me.Label2.Text = "Zeit/-raum:"
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(6, 22)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(30, 13)
Me.Label1.TabIndex = 3
Me.Label1.Text = "Titel:"
'
'tb_Bild_Time
'
Me.tb_Bild_Time.Location = New System.Drawing.Point(83, 45)
Me.tb_Bild_Time.Name = "tb_Bild_Time"
Me.tb_Bild_Time.Size = New System.Drawing.Size(263, 20)
Me.tb_Bild_Time.TabIndex = 1
'
'tb_Bild_Name
'
Me.tb_Bild_Name.Location = New System.Drawing.Point(83, 19)
Me.tb_Bild_Name.Name = "tb_Bild_Name"
Me.tb_Bild_Name.Size = New System.Drawing.Size(263, 20)
Me.tb_Bild_Name.TabIndex = 0
'
'TaggedIMG1
'
Me.TaggedIMG1.ActivMark = False
Me.TaggedIMG1.ActivMarkDescription = ""
Me.TaggedIMG1.ActivMarkHeight = -1
Me.TaggedIMG1.ActivMarkLeft = -1
Me.TaggedIMG1.ActivMarkName = ""
Me.TaggedIMG1.ActivMarkTop = -1
Me.TaggedIMG1.ActivMarkWidth = -1
Me.TaggedIMG1.Cursor = System.Windows.Forms.Cursors.Default
Me.TaggedIMG1.Description = Nothing
Me.TaggedIMG1.ID = Nothing
Me.TaggedIMG1.Location = New System.Drawing.Point(12, 12)
Me.TaggedIMG1.Marks_Visible = True
Me.TaggedIMG1.Name = "TaggedIMG1"
Place1.Adress = Nothing
Place1.Description = Nothing
Place1.GPS = Nothing
Place1.Title = Nothing
Me.TaggedIMG1.Place = Place1
Me.TaggedIMG1.RO = False
Me.TaggedIMG1.Size = New System.Drawing.Size(717, 616)
Me.TaggedIMG1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom
Me.TaggedIMG1.TabIndex = 0
Me.TaggedIMG1.TabStop = False
Me.TaggedIMG1.Time = Nothing
Me.TaggedIMG1.Title = Nothing
'
'SB_PictureTagger
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1106, 723)
Me.Controls.Add(Me.Label7)
Me.Controls.Add(Me.GroupBox4)
Me.Controls.Add(Me.GroupBox3)
Me.Controls.Add(Me.b_reloaddir)
Me.Controls.Add(Me.b_save)
Me.Controls.Add(Me.b_loaddir)
Me.Controls.Add(Me.GroupBox2)
Me.Controls.Add(Me.GroupBox1)
Me.Controls.Add(Me.b_exit)
Me.Controls.Add(Me.b_last)
Me.Controls.Add(Me.b_next)
Me.Controls.Add(Me.PictureBox1)
Me.Controls.Add(Me.ShapeContainer1)
Me.Name = "Main"
Me.Controls.Add(Me.TaggedIMG1)
Me.Controls.Add(Me.Panel_Right)
Me.Controls.Add(Me.Panel_Botom)
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.MinimumSize = New System.Drawing.Size(1122, 761)
Me.Name = "SB_PictureTagger"
Me.Text = "SB-PictureTagger"
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
Me.GroupBox1.ResumeLayout(False)
Me.GroupBox1.PerformLayout()
Me.GroupBox2.ResumeLayout(False)
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).EndInit()
Me.GroupBox3.ResumeLayout(False)
Me.GroupBox3.PerformLayout()
Me.Panel_Botom.ResumeLayout(False)
Me.Panel_Botom.PerformLayout()
Me.Panel_Right.ResumeLayout(False)
Me.GroupBox4.ResumeLayout(False)
Me.GroupBox4.PerformLayout()
CType(Me.NumericUpDown_OrdnerTiefe, System.ComponentModel.ISupportInitialize).EndInit()
Me.GB_Ort.ResumeLayout(False)
Me.GB_Ort.PerformLayout()
Me.GB_Mark.ResumeLayout(False)
Me.GB_Mark.PerformLayout()
Me.GB_Bild.ResumeLayout(False)
Me.GB_Bild.PerformLayout()
CType(Me.TaggedIMG1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()

End Sub
Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox
Friend WithEvents b_next As System.Windows.Forms.Button
Friend WithEvents b_last As System.Windows.Forms.Button
Friend WithEvents b_exit As System.Windows.Forms.Button
Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
Friend WithEvents Label3 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents tb_Bild_Time As System.Windows.Forms.TextBox
Friend WithEvents rtb_Bild_Description As System.Windows.Forms.RichTextBox
Friend WithEvents tb_Bild_Title As System.Windows.Forms.TextBox
Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox
Friend WithEvents DataGridView1 As System.Windows.Forms.DataGridView
Friend WithEvents b_loaddir As System.Windows.Forms.Button
Friend WithEvents b_save As System.Windows.Forms.Button
Friend WithEvents Panel_Botom As System.Windows.Forms.Panel
Friend WithEvents Label7 As System.Windows.Forms.Label
Friend WithEvents b_reloaddir As System.Windows.Forms.Button
Friend WithEvents Column1 As System.Windows.Forms.DataGridViewTextBoxColumn
Friend WithEvents Position As System.Windows.Forms.DataGridViewTextBoxColumn
Friend WithEvents Radius As System.Windows.Forms.DataGridViewTextBoxColumn
Friend WithEvents Column2 As System.Windows.Forms.DataGridViewTextBoxColumn
Friend WithEvents GroupBox3 As System.Windows.Forms.GroupBox
Friend WithEvents b_loaddir As System.Windows.Forms.Button
Friend WithEvents b_exit As System.Windows.Forms.Button
Friend WithEvents b_last As System.Windows.Forms.Button
Friend WithEvents b_next As System.Windows.Forms.Button
Friend WithEvents Panel_Right As System.Windows.Forms.Panel
Friend WithEvents GroupBox4 As System.Windows.Forms.GroupBox
Friend WithEvents Label8 As System.Windows.Forms.Label
Friend WithEvents NumericUpDown_OrdnerTiefe As System.Windows.Forms.NumericUpDown
Friend WithEvents cb_marks_visible As System.Windows.Forms.CheckBox
Friend WithEvents GB_Ort As System.Windows.Forms.GroupBox
Friend WithEvents tb_Place_Description As System.Windows.Forms.TextBox
Friend WithEvents Label9 As System.Windows.Forms.Label
Friend WithEvents tb_Place_Name As System.Windows.Forms.TextBox
Friend WithEvents Label4 As System.Windows.Forms.Label
Friend WithEvents Label5 As System.Windows.Forms.Label
Friend WithEvents Label6 As System.Windows.Forms.Label
Friend WithEvents tb_Place_GPS As System.Windows.Forms.TextBox
Friend WithEvents tb_Place_Addresse As System.Windows.Forms.TextBox
Friend WithEvents rtb_Place_Description As System.Windows.Forms.RichTextBox
Friend WithEvents GroupBox4 As System.Windows.Forms.GroupBox
Friend WithEvents cb_AutoSave As System.Windows.Forms.CheckBox
Friend WithEvents cb_marks_visible As System.Windows.Forms.CheckBox
Friend WithEvents Label7 As System.Windows.Forms.Label
Friend WithEvents Label8 As System.Windows.Forms.Label
Friend WithEvents NumericUpDown_OrdnerTiefe As System.Windows.Forms.NumericUpDown
Friend WithEvents Label9 As System.Windows.Forms.Label
Friend WithEvents tb_Place_Title As System.Windows.Forms.TextBox
Friend WithEvents ShapeContainer1 As Microsoft.VisualBasic.PowerPacks.ShapeContainer
Friend WithEvents OvalShape1 As Microsoft.VisualBasic.PowerPacks.OvalShape
Friend WithEvents GB_Mark As System.Windows.Forms.GroupBox
Friend WithEvents tb_AktMark_Description As System.Windows.Forms.TextBox
Friend WithEvents Label11 As System.Windows.Forms.Label
Friend WithEvents tb_AktMark_Name As System.Windows.Forms.TextBox
Friend WithEvents Label10 As System.Windows.Forms.Label
Friend WithEvents GB_Bild As System.Windows.Forms.GroupBox
Friend WithEvents tb_Bild_Description As System.Windows.Forms.TextBox
Friend WithEvents Label3 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents tb_Bild_Time As System.Windows.Forms.TextBox
Friend WithEvents tb_Bild_Name As System.Windows.Forms.TextBox
Friend WithEvents TaggedIMG1 As TaggedIMG

End Class

File diff suppressed because it is too large Load Diff

View File

@ -1,218 +1,451 @@
Option Explicit On
Imports System.IO
Imports SB_PictureTagger.Stammbaum

Public Class Main
Public Class SB_PictureTagger

'###################################################################################################################
'############### Main ##############################################################################################
'###################################################################################################################

Private Sub Main_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Initial
Settings.PictureTagger.Pub_oLoaded_TaggedIMG.Clear()
LoadConfigForm()
'###########################
'### Declare Variables ###
'###########################

End Sub 'Main_Load
Public Pub_sPath As String 'Pfad des Aktuell Arbeits Verzeichnises
Public Pub_aPfade(0) As String 'Array mit den Photo Pfaden
Public Pub_nPfadeIndex As Long = 0 'IndexNR des aktuell Geladenen Photos aus pub_aPfade
Public Pub_aConfigForm(0) As String 'Array mit FormConfiguration
Public Pub_nOrdnerTiefe As Integer = 0 'Recursive Ordnertiefe beim Ordnereinlesen
Public Pub_aSupportedFiles() As String = {".jpg", ".bmp", ".gif", ".png", ".jp2", ".tif"} 'Speichert die Unterstützten Extentions

Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
'Speichere
SaveTagg()
SaveConfigForm()
End Sub 'Form1_Closing

Private Sub LoadConfigForm()
'Unsterstützte Formate
ReDim Settings.PictureTagger.pub_aSupportedFiles(5)
Settings.PictureTagger.pub_aSupportedFiles(0) = ".jpg"
Settings.PictureTagger.pub_aSupportedFiles(1) = ".bmp"
Settings.PictureTagger.pub_aSupportedFiles(2) = ".gif"
Settings.PictureTagger.pub_aSupportedFiles(3) = ".png"
Settings.PictureTagger.pub_aSupportedFiles(4) = ".jp2"
Settings.PictureTagger.pub_aSupportedFiles(5) = ".tif"
'Portable oder Nicht komming soon!

End Sub 'LoadConfigForm ### in work ###
Private Sub SaveConfigForm()
'Wird noch Programmert, stürzt sich auf Stammbaum.Settings
'Wie zuletz verwendetes Verzeichnis ...
End Sub 'SaveConfigForm ### in work ###
Private nCountMarks As Integer


'###################################################################################################################
'############### Form1_Function-Tasks ##############################################################################
'####################### Private Subs ##############################################################################
'###################################################################################################################

Private Function ChangesAreTrue() As Boolean
'Setze Standardwert:
ChangesAreTrue = False

If Stammbaum.Settings.PictureTagger.Pub_oLoaded_TaggedIMG.Title <> tb_Bild_Title.Text Then ChangesAreTrue = True
If Stammbaum.Settings.PictureTagger.Pub_oLoaded_TaggedIMG.Time <> tb_Bild_Time.Text Then ChangesAreTrue = True
If Stammbaum.Settings.PictureTagger.Pub_oLoaded_TaggedIMG.Description <> rtb_Bild_Description.Text Then ChangesAreTrue = True

If Stammbaum.Settings.PictureTagger.Pub_oLoaded_TaggedIMG.Ort.Title <> tb_Place_Title.Text Then ChangesAreTrue = True
If Stammbaum.Settings.PictureTagger.Pub_oLoaded_TaggedIMG.Ort.Adresse <> tb_Place_Addresse.Text Then ChangesAreTrue = True
If Stammbaum.Settings.PictureTagger.Pub_oLoaded_TaggedIMG.Ort.GPS <> tb_Place_GPS.Text Then ChangesAreTrue = True
If Stammbaum.Settings.PictureTagger.Pub_oLoaded_TaggedIMG.Ort.Description <> rtb_Place_Description.Text Then ChangesAreTrue = True

'Wenn Markierungen geändert ... ### in work ###

End Function 'PT_ChangesTrue = True; wenn ÄNDERUNGEN vorgenommen!

'###################################################################################################################
'############### Form1_Sub-Tasks ###################################################################################
'###################################################################################################################

Private Sub Clear_Form()
Private Sub Clear()
tb_Bild_Name.Clear()
tb_Bild_Time.Clear()
tb_Bild_Title.Clear()
tb_Bild_Description.Clear()

tb_Place_Name.Clear()
tb_Place_Addresse.Clear()
tb_Place_GPS.Clear()
rtb_Bild_Description.Clear()
rtb_Place_Description.Clear()
tb_Place_Description.Clear()

tb_AktMark_Name.Clear()
tb_AktMark_Description.Clear()


'Entlehre Pfadangabe
Label7.Text = Nothing
Label7.Text = ""

'Entlehre PictureBox
PictureBox1.Image = Nothing
'Entlehre TaggedIMG1
TaggedIMG1.Clear()

'Entlehre Speicher
Stammbaum.Settings.PictureTagger.Pub_oLoaded_TaggedIMG.Clear()
nCountMarks = 0
TaggedIMG1.RO = True

'### Lösche Markierungen ## ### in work ###
'GroubBox
GB_Bild.Enabled = False
GB_Ort.Enabled = False
GB_Mark.Enabled = False

'Aktiv mark TBs
tb_AktMark_Description.Enabled = False
tb_AktMark_Name.Enabled = False

End Sub 'Resetet die Maske - - - - - - - - - - ### in work ###


Private Sub SaveTagg(Optional ByVal WithoutQestion = False)
End Sub

Private Sub SaveData()
'Überprüfe ob Änderungen forgenommen #UND# Ob eine ID existiert #UND# Ob das Bild existiert
If ChangesAreTrue() And (Settings.PictureTagger.Pub_oLoaded_TaggedIMG.ID <> "" Or Nothing) And System.IO.File.Exists(Settings.PictureTagger.Pub_oLoaded_TaggedIMG.Path) Then

'Überprüfe ob Tagg Speichern erlaubt
If cb_AutoSave.Checked Or WithoutQestion Then
_SaveTaggs()
ElseIf (MessageBox.Show("Willst du die Änderungen Speichern?", "SB-PictureTagger", MessageBoxButtons.YesNo) = DialogResult.Yes) Then
_SaveTaggs()
End If

If (TaggedIMG1.ID <> "" Or Nothing) And System.IO.File.Exists(Pub_aPfade(Pub_nPfadeIndex)) Then
Data_Save()
End If
End Sub 'Save Taggs when Changes are hapened

Private Sub _SaveTaggs()
'TextBox sichern
Stammbaum.Settings.PictureTagger.Pub_oLoaded_TaggedIMG.Title = tb_Bild_Title.Text
Stammbaum.Settings.PictureTagger.Pub_oLoaded_TaggedIMG.Time = tb_Bild_Time.Text
Stammbaum.Settings.PictureTagger.Pub_oLoaded_TaggedIMG.Description = rtb_Bild_Description.Text

Stammbaum.Settings.PictureTagger.Pub_oLoaded_TaggedIMG.Ort.Title = tb_Place_Title.Text
Stammbaum.Settings.PictureTagger.Pub_oLoaded_TaggedIMG.Ort.Adresse = tb_Place_Addresse.Text
Stammbaum.Settings.PictureTagger.Pub_oLoaded_TaggedIMG.Ort.GPS = tb_Place_GPS.Text
Stammbaum.Settings.PictureTagger.Pub_oLoaded_TaggedIMG.Ort.Description = rtb_Place_Description.Text

'Lese Markierungen <-- in Planung (Fieleicht Überflüsig, jenachdem wie Markierungen angesteuert werden

'In TaggSource speichern
Stammbaum.Module.PictureTagger.PT_SaveTaggedIMG()
End Sub 'Eigendliche Sicherungs Rotiene


Private Sub LoadTaggedIMG()

'Textvelder Lehren
Clear_Form()

'Lade neues TaggedIMG mit Stammbaum.Module.PictureTagger Modul
Stammbaum.Module.PictureTagger.PT_LoadTaggedIMG()

'Zeigt den BildPfad unter PictureBox an
Label7.Text = Settings.PictureTagger.Pub_oLoaded_TaggedIMG.Path
PictureBox1.Image = Settings.PictureTagger.Pub_oLoaded_TaggedIMG.Image

'Befülle die TextBox-en
tb_Bild_Title.Text = Settings.PictureTagger.Pub_oLoaded_TaggedIMG.Title
tb_Bild_Time.Text = Settings.PictureTagger.Pub_oLoaded_TaggedIMG.Time
rtb_Bild_Description.Text = Settings.PictureTagger.Pub_oLoaded_TaggedIMG.Description

tb_Place_Title.Text = Settings.PictureTagger.Pub_oLoaded_TaggedIMG.Ort.Title
tb_Place_Addresse.Text = Settings.PictureTagger.Pub_oLoaded_TaggedIMG.Ort.Adresse
tb_Place_GPS.Text = Settings.PictureTagger.Pub_oLoaded_TaggedIMG.Ort.GPS
rtb_Place_Description.Text = Settings.PictureTagger.Pub_oLoaded_TaggedIMG.Ort.Description

'Erstelle Marks ### in work ###

End Sub 'LoadTaggedIMG -> Befülle TextBox-en [UND erstelle Markierungen] - - - - - - ### in work ###
Private Sub Resize2()

End Sub
'###################################################################################################################
'############### Buton Events: Click ###############################################################################
'####################### EVENTS ####################################################################################
'###################################################################################################################
#Region "Events"
'################################################
'############### Form Events ####################
'################################################

Private Sub SB_PictureTagger_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
SaveData()
End Sub 'Form1_Closing

Private Sub SB_PictureTagger_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Clear()
cb_marks_visible.Checked = True
TaggedIMG1.Marks_Visible = cb_marks_visible.Checked
End Sub 'SB_PictureTagger_Load


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 'Closing Programm = Save Taggs -> Save Configs from Form
'################################################
'############### Buton Events: Click ############
'################################################

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
Dim sTMP As String
sTMP = Tools.Dialoge.FolderBrowserDialog()
If Directory.Exists(sTMP) Then
SaveTagg()
Settings.PictureTagger.Pub_sPath = sTMP
Stammbaum.Module.PictureTagger.PT_LoadVerzeichnis()
LoadTaggedIMG()
If System.IO.Directory.Exists(sTMP) Then
SaveData()
Clear()
Pub_sPath = sTMP
LoadVerzeichnis()
Data_Load()
End If
End Sub 'Öffne Ordner -> wenn Pfad OK -> Save Taggs -> Lade Verzeichnis -> Load Tagged IMG

Private Sub b_reloaddir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_reloaddir.Click
SaveTagg()
Stammbaum.Module.PictureTagger.PT_LoadVerzeichnis()
LoadTaggedIMG()
SaveData()
Clear()
LoadVerzeichnis()
Data_Load()
End Sub 'Save Taggs -> Lade Verzeichnis -> Load Tagged IMG

Private Sub b_save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_save.Click
SaveTagg()
LoadTaggedIMG()
End Sub 'Wenn Änderung -> Save Taggs

Private Sub b_next_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_next.Click
SaveTagg()
If Settings.PictureTagger.Pub_nPfadeIndex < UBound(Settings.PictureTagger.Pub_aPfade) Then
Settings.PictureTagger.Pub_nPfadeIndex += 1
If Pub_nPfadeIndex < UBound(Pub_aPfade) Then
SaveData()
Clear()
Pub_nPfadeIndex += 1
Data_Load()
End If
LoadTaggedIMG()
End Sub 'Speichere Taggs -> Next Index -> Load Tagged IMG

Private Sub b_last_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_last.Click
SaveTagg()
If Settings.PictureTagger.Pub_nPfadeIndex > 0 Then
Settings.PictureTagger.Pub_nPfadeIndex = Settings.PictureTagger.Pub_nPfadeIndex - 1
If Pub_nPfadeIndex > 0 Then
SaveData()
Clear()
Pub_nPfadeIndex = Pub_nPfadeIndex - 1
Data_Load()
End If
LoadTaggedIMG()
End Sub 'Speichere Taggs -> Last Index -> Load Tagged IMG

Private Sub b_exit_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_exit.Click
Me.Close()
End Sub 'b_exit_Click_1

'###################################################################################################################
'############### CheckBox Events: CheckStateChanged ################################################################
'###################################################################################################################
'################################################
'###### 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 'Visible/Hide Markierungen - - - ### in work ###
Private Sub cb_marks_visible_CheckStateChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cb_marks_visible.CheckStateChanged
TaggedIMG1.Marks_Visible = cb_marks_visible.Checked
End Sub 'Visible/Hide Markierungen

'###################################################################################################################
'############### NumericUpDown Events: ValueChanged ################################################################
'###################################################################################################################

Private Sub NumericUpDown_OrdnerTiefe_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles NumericUpDown_OrdnerTiefe.ValueChanged
SaveTagg()
Settings.PictureTagger.Pub_nOrdnerTiefe = NumericUpDown_OrdnerTiefe.Value
Stammbaum.Module.PictureTagger.PT_LoadVerzeichnis()
LoadTaggedIMG()
SaveData()
Pub_nOrdnerTiefe = NumericUpDown_OrdnerTiefe.Value
LoadVerzeichnis()
Data_Load()
End Sub ''Speichere Taggs -> Neue Ordner Tiefe -> Lade Verzeichnis -> Load Tagged IMG


'###################################################################################################################
'############### TextBox Events: TextChanged #######################################################################
'###################################################################################################################

Private Sub tb_Bild_Description_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_Bild_Description.TextChanged
TaggedIMG1.Description = tb_Bild_Description.Text
End Sub

Private Sub tb_Bild_Name_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_Bild_Name.TextChanged
TaggedIMG1.Title = tb_Bild_Name.Text
End Sub

Private Sub tb_Bild_Time_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_Bild_Time.TextChanged
TaggedIMG1.Time = tb_Bild_Time.Text
End Sub

Private Sub tb_Place_Addresse_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_Place_Addresse.TextChanged
TaggedIMG1.Place.Adress = tb_Place_Addresse.Text
End Sub

Private Sub tb_Place_Description_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_Place_Description.TextChanged
TaggedIMG1.Place.Description = tb_Place_Description.Text
End Sub

Private Sub tb_Place_GPS_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_Place_GPS.TextChanged
TaggedIMG1.Place.GPS = tb_Place_GPS.Text
End Sub

Private Sub tb_Place_Name_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_Place_Name.TextChanged
TaggedIMG1.Place.Title = tb_Place_Name.Text
End Sub

Private Sub tb_AktMark_Description_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_AktMark_Description.TextChanged
TaggedIMG1.ActivMarkDescription = tb_AktMark_Description.Text
End Sub 'tb_AktMark_Description_TextChanged

Private Sub tb_AktMark_Name_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_AktMark_Name.TextChanged
TaggedIMG1.ActivMarkName = tb_AktMark_Name.Text
End Sub 'tb_AktMark_Name_TextChanged


'###################################################################################################################
'############### TAggedIMG Events ##################################################################################
'###################################################################################################################

Private Sub TaggedIMG1_LikeToCreatMark(ByVal Left As Integer, ByVal Top As Integer, ByVal Width As Integer, ByVal Height As Integer) Handles TaggedIMG1.LikeToCreatMark
If TaggedIMG1.Marks_Create(nCountMarks, Left, Top, Width, Height) Then nCountMarks += 1
End Sub 'TaggedIMG1_LikeToCreatMark

Private Sub TaggedIMG1_ActivMarkChanged(ByVal arg As Boolean) Handles TaggedIMG1.ActivMarkChanged
If TaggedIMG1.ActivMarkID <> Nothing Or TaggedIMG1.ActivMarkID <> "" Then
tb_AktMark_Name.Text = TaggedIMG1.ActivMarkName
tb_AktMark_Name.Enabled = True
tb_AktMark_Description.Text = TaggedIMG1.ActivMarkDescription
tb_AktMark_Description.Enabled = True
Else
tb_AktMark_Name.Text = ""
tb_AktMark_Name.Enabled = False
tb_AktMark_Description.Text = ""
tb_AktMark_Description.Enabled = False
End If
End Sub 'TaggedIMG1_ActivMarkChanged


#End Region 'Events


'###################################################################################################################
'############### Lade ##############################################################################################
'###################################################################################################################

Public Sub LoadVerzeichnis()
If System.IO.Directory.Exists(Pub_sPath) Then
Pub_aPfade = Tools.Filesystem.GetFilesFromDir(Pub_sPath, Pub_aSupportedFiles, Pub_nOrdnerTiefe)
Pub_nPfadeIndex = 0
End If
End Sub 'Lade Bilder in pub_aPfade Array; Setze Index auf 0


'###################################################################################################################
'###################### D A T A ####################################################################################
'###################################################################################################################

'Taggs auslesen (jezt noch aus INI - später aus DB)
Private Sub Data_Load()
' ### Settings ###
Dim InIForEachDat As Boolean = False

'Textvelder Lehren
Me.Clear()

'Absicherung für Undimensioniertes Array
If Pub_aPfade.Length = 0 Then ReDim Pub_aPfade(0)

'Bereinige Falsche Indexangaben
If UBound(Pub_aPfade) < Pub_nPfadeIndex Then Pub_nPfadeIndex = UBound(Pub_aPfade)

' ####################
'Deklarieren
'Dim
Dim INI_Locate As String
Dim INI_Name As String
Dim PicturePath As String
Dim sKey As String 'Um INI anzusteuern

PicturePath = Pub_aPfade(Pub_nPfadeIndex)

'Bildpfad auf existenz Prüfen
If System.IO.File.Exists(PicturePath) Then
' ### Bestimmen Der INI ###
If InIForEachDat Then
INI_Name = System.IO.Path.Combine(System.IO.Path.GetFileName(PicturePath), ".ini")
INI_Locate = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(PicturePath), INI_Name)
Else
INI_Name = "Tagg.ini"
INI_Locate = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(PicturePath), INI_Name)
End If

'TaggedIMG
TaggedIMG1.Image = Image.FromFile(PicturePath)
TaggedIMG1.ID = System.IO.Path.GetFileName(PicturePath) 'Lade Wichtigste Eigenschaften = Immer Forhanden bei Geladenem TaggedIMG
TaggedIMG1.RO = False

GB_Bild.Enabled = True
GB_Ort.Enabled = True
GB_Mark.Enabled = True

TaggedIMG1.Marks_Visible = cb_marks_visible.Checked


'####################### Read from INI ######################################
If System.IO.File.Exists(INI_Locate) Then
sKey = TaggedIMG1.ID

'Lade Optionalen Rest:
'Titel
TaggedIMG1.Title = Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Title", Nothing)
'Kurzbeschreibung
'##############################################################
'ReFormate Description Text from "Description"
TaggedIMG1.Description = Tools.Convert.Coding.Base64_To_Ascii(Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Description", Nothing))
'##############################################################

'Zeitangabe
TaggedIMG1.Time = Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Time", Nothing)
'Ortsangabe-Title
TaggedIMG1.Place.Title = Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Place_Title", Nothing)
'Ortsangabe-Adresse
TaggedIMG1.Place.Adress = Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Place_Adresse", Nothing)
'Ortsangabe-Kurzbeschreibung
'##############################################################
'ReFormate Description Text from "Place.Description"
TaggedIMG1.Place.Description = Tools.Convert.Coding.Base64_To_Ascii(Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Place_Description", Nothing))
'##############################################################

'Ortsangabe-GPS Koordinaten
TaggedIMG1.Place.GPS = Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Place_GPS", Nothing)


'Führ Makrierungen einlese Schleife
''Dim i As Long
Dim Mark_ID As String
Dim Mark_Left As Integer
Dim Mark_Top As Integer
Dim Mark_Width As Integer
Dim Mark_Height As Integer
Dim Mark_Description As String
Dim Mark_Name As String
Dim Mark_Index As Integer

'Load Marks
Mark_Index = Convert.ToInt32(Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Mark_MaxIndex", "-1"))
If Mark_Index >= 0 Then
For counter = 0 To Mark_Index
Mark_ID = counter
Mark_Left = Convert.ToInt32(Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Mark" & Convert.ToString(counter) & "_Left"))
Mark_Top = Convert.ToInt32(Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Mark" & Convert.ToString(counter) & "_Top"))
Mark_Width = Convert.ToInt32(Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Mark" & Convert.ToString(counter) & "_Width"))
Mark_Height = Convert.ToInt32(Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Mark" & Convert.ToString(counter) & "_Height"))
Mark_Name = Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Mark" & Convert.ToString(counter) & "_Name")
Mark_Description = Tools.Convert.Coding.Base64_To_Ascii(Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Mark" & Convert.ToString(counter) & "_Description"))

TaggedIMG1.Marks_Set(Mark_ID, "Create", Mark_Left, Mark_Top, Mark_Width, Mark_Height, Mark_Name, Mark_Description)

Mark_ID = 0
Mark_Left = 0
Mark_Top = 0
Mark_Width = 0
Mark_Height = 0
Mark_Name = ""
Mark_Description = ""

Next
nCountMarks = Mark_Index
End If

End If
'######################## End Read #########################################



'Zeigt den BildPfad an
Label7.Text = Pub_aPfade(Pub_nPfadeIndex)

'Befülle die TextBox-en
tb_Bild_Name.Text = TaggedIMG1.Title
tb_Bild_Time.Text = TaggedIMG1.Time
tb_Bild_Description.Text = TaggedIMG1.Description

tb_Place_Name.Text = TaggedIMG1.Place.Title
tb_Place_Addresse.Text = TaggedIMG1.Place.Adress
tb_Place_GPS.Text = TaggedIMG1.Place.GPS
tb_Place_Description.Text = TaggedIMG1.Place.Description
End If




End Sub

Private Sub Data_Save()

'### INI Einstellungen ###
Dim ForEachDat As Boolean = False
Dim INI_Locate As String
Dim INI_Name As String
Dim PicturePath As String = Pub_aPfade(Pub_nPfadeIndex)

If ForEachDat Then
INI_Name = System.IO.Path.Combine(System.IO.Path.GetFileName(PicturePath), ".ini")
INI_Locate = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(PicturePath), INI_Name)
Else
INI_Name = "Tagg.ini"
INI_Locate = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(PicturePath), INI_Name)
End If

'### Main #################
If System.IO.File.Exists(PicturePath) Then
If Not System.IO.File.Exists(INI_Locate) Then System.IO.File.Create(INI_Locate)

'Deklarationen
Dim sKey = TaggedIMG1.ID

'Titel
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Title", TaggedIMG1.Title)

'Kurzbeschreibung
'##############################################################
'Formate Description Text from "Description"
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Description", Tools.Convert.Coding.Ascii_To_Base64(TaggedIMG1.Description))
'##############################################################

'Zeitangabe
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Time", TaggedIMG1.Time)
'Ortsangabe-Title
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Place_Title", TaggedIMG1.Place.Title)
'Ortsangabe-Adresse
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Place_Adresse", TaggedIMG1.Place.Adress)

'Ortsangabe-Kurzbeschreibung
'##############################################################
'Formate Description Text from "TMP_TaggIMG.Place.Description"
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Place_Description", Tools.Convert.Coding.Ascii_To_Base64(TaggedIMG1.Place.Description))
'##############################################################

'Ortsangabe-GPS Koordinaten
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Place_GPS", TaggedIMG1.Place.GPS)


Dim oTemp() As Mark = TaggedIMG1.Marks_GetAll
Dim counter As Integer

counter = -1
For Each Markierung As Mark In oTemp
If (Markierung.Command = "Nothing") Or (Markierung.Command = "Change") Or (Markierung.Command = "Create") Then
counter += 1

Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Mark" & Convert.ToString(counter) & "_ID", Convert.ToString(counter))
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Mark" & Convert.ToString(counter) & "_Left", Convert.ToString(Markierung.Left))
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Mark" & Convert.ToString(counter) & "_Top", Convert.ToString(Markierung.Top))
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Mark" & Convert.ToString(counter) & "_Width", Convert.ToString(Markierung.Width))
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Mark" & Convert.ToString(counter) & "_Height", Convert.ToString(Markierung.Height))
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Mark" & Convert.ToString(counter) & "_Name", Convert.ToString(Markierung.Name))
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Mark" & Convert.ToString(counter) & "_Description", Tools.Convert.Coding.Ascii_To_Base64(Markierung.Description))

End If

Next
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Mark_MaxIndex", counter)

End If
End Sub

End Class

View File

@ -1,227 +0,0 @@
Option Explicit On
Imports SB_PictureTagger.Stammbaum
Namespace Stammbaum.Module.PictureTagger
Module PictureTagger

'###################################################################################################################
'############### Lade ##############################################################################################
'###################################################################################################################

Public Sub PT_LoadVerzeichnis()
If System.IO.Directory.Exists(Settings.PictureTagger.Pub_sPath) Then
Settings.PictureTagger.Pub_aPfade = Tools.Filesystem.GetFilesFromDir(Settings.PictureTagger.Pub_sPath, Settings.PictureTagger.Pub_aSupportedFiles, Settings.PictureTagger.Pub_nOrdnerTiefe)
Settings.PictureTagger.pub_nPfadeIndex = 0
End If
End Sub 'Lade Bilder in pub_aPfade Array; Setze Index auf 0

Public Sub PT_LoadTaggedIMG()
'Absicherung für Undimensioniertes Array
If Settings.PictureTagger.Pub_aPfade.Length = 0 Then ReDim Settings.PictureTagger.Pub_aPfade(0)

'Bereinige Falsche Indexangaben
If UBound(Settings.PictureTagger.Pub_aPfade) < Settings.PictureTagger.Pub_nPfadeIndex Then Settings.PictureTagger.Pub_nPfadeIndex = UBound(Settings.PictureTagger.Pub_aPfade)

'Bildpfad auf existenz Prüfen
If System.IO.File.Exists(Settings.PictureTagger.Pub_aPfade(Settings.PictureTagger.Pub_nPfadeIndex)) Then

'Taggs With INI:
Settings.PictureTagger.Pub_oLoaded_TaggedIMG = INI_Load_Taggs(Settings.PictureTagger.Pub_aPfade(Settings.PictureTagger.Pub_nPfadeIndex), False)

'Later With DB ---

End If
End Sub 'Lade TaggedIMG in Pub_oLoaded_TaggedIMG


'###################################################################################################################
'############### Speichere #########################################################################################
'###################################################################################################################
Public Sub PT_SaveTaggedIMG()

If (Settings.PictureTagger.Pub_oLoaded_TaggedIMG.ID <> "" Or Nothing) And System.IO.File.Exists(Settings.PictureTagger.Pub_oLoaded_TaggedIMG.Path) Then

'Taggs With INI:
INI_Save_Taggs(Settings.PictureTagger.Pub_oLoaded_TaggedIMG, False)

'Later With DB ---

End If
End Sub


'###################################################################################################################
'############### Taggs With INI ####################################################################################
'###################################################################################################################

'Taggs auslesen (jezt noch aus INI - später aus DB)
Private Function INI_Load_Taggs(ByVal PicturePath As String, Optional ByVal ForEachDat As Boolean = False) As Classen.PictureTagger.TaggedIMG
'### INI Einstellungen ###
Dim INI_Locate As String
Dim INI_Name As String

If ForEachDat Then
INI_Name = System.IO.Path.Combine(System.IO.Path.GetFileName(PicturePath), ".ini")
INI_Locate = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(PicturePath), INI_Name)
Else
INI_Name = "Tagg.ini"
INI_Locate = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(PicturePath), INI_Name)
End If

'### Main ##
Dim TMP_TaggIMG As New Classen.PictureTagger.TaggedIMG
If System.IO.File.Exists(PicturePath) Then

'Lade Wichtigste Eigenschaften = Immer Forhanden bei Geladenem TaggedIMG
TMP_TaggIMG.Image = Image.FromFile(PicturePath)
TMP_TaggIMG.Path = PicturePath
TMP_TaggIMG.ID = System.IO.Path.GetFileName(PicturePath)

If System.IO.File.Exists(INI_Locate) Then
'Deklarationen
Dim sKey As String = TMP_TaggIMG.ID

'Lade Optionalen Rest:
'Titel
TMP_TaggIMG.Title = Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Title", Nothing)
'Kurzbeschreibung
'##############################################################
'ReFormate Description Text from "Description"
TMP_TaggIMG.Description = Tools.Convert.Coding.Base64_To_Ascii(Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Description", Nothing))
'##############################################################

'Zeitangabe
TMP_TaggIMG.Time = Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Time", Nothing)
'Ortsangabe-Title
TMP_TaggIMG.Ort.Title = Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Place_Title", Nothing)
'Ortsangabe-Adresse
TMP_TaggIMG.Ort.Adresse = Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Place_Adresse", Nothing)
'Ortsangabe-Kurzbeschreibung
'##############################################################
'ReFormate Description Text from "Place.Description"
TMP_TaggIMG.Ort.Description = Tools.Convert.Coding.Base64_To_Ascii(Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Place_Description", Nothing))
'##############################################################

'Ortsangabe-GPS Koordinaten
TMP_TaggIMG.Ort.GPS = Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Place_GPS", Nothing)




'Führ Makrierungen einlese Schleife
''Dim i As Long
''Dim Mark_ID As String
''Dim Mark_PositionX As Long
''Dim Mark_PositionY As Long
''Dim Mark_Radius As Long
''Dim Mark_Description As String
''Dim Mark_Index As Long

'Load Marks
'sMark_Index = Modul_Tools.Config_INI_ReadValue(INI_Locate, ID, "Title")
''i = 0
''Do While i <= 200
'' Mark_Index = ("Mark" & Convert.ToString(i) & "_ID")
'' Mark_ID = Tools.Data.File.INI_ReadValue(INI_Locate, sKey, Mark_Index)
'' If Mark_ID <> "" Then
'' i += 1

'' Mark_PositionX = Convert.ToDouble(Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Mark" & Convert.ToString(i) & "_PositionX", "0"))
'' Mark_PositionY = Convert.ToInt32(Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Mark" & Convert.ToString(i) & "_PositionY", "0"))
'' Mark_Radius = Convert.ToInt32(Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Mark" & Convert.ToString(i) & "_Radius", "0"))
'' '##############################################################
'' 'ReFormate Description Text from "Mark_Description"
'' Mark_Description = Tools.Convert.Coding.Base64_To_Ascii(Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Mark" & Convert.ToString(i) & "_Description", Nothing))
'' '##############################################################

'' 'Erstellen eines Neuen Marks
'' TMP_TaggIMG.Create_NewMark(Mark_ID, Mark_PositionX, Mark_PositionY, Mark_Radius, Mark_Description)
'' Else
'' 'Verlasse Schleife
'' Exit Do
'' End If
''Loop


End If 'File.Exists(INI_Locate)
End If 'File.Exists(PicturePath)
INI_Load_Taggs = TMP_TaggIMG

End Function

Private Sub INI_Save_Taggs(ByVal oTaggedIMG As Classen.PictureTagger.TaggedIMG, Optional ByVal ForEachDat As Boolean = False)

'### INI Einstellungen ###
Dim INI_Locate As String
Dim INI_Name As String
Dim PicturePath As String = oTaggedIMG.Path

If ForEachDat Then
INI_Name = System.IO.Path.Combine(System.IO.Path.GetFileName(PicturePath), ".ini")
INI_Locate = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(PicturePath), INI_Name)
Else
INI_Name = "Tagg.ini"
INI_Locate = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(PicturePath), INI_Name)
End If

'### Main ##
If System.IO.File.Exists(PicturePath) Then
If Not System.IO.File.Exists(INI_Locate) Then System.IO.File.Create(INI_Locate)

'Deklarationen
Dim sKey = oTaggedIMG.ID

'Titel
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Title", oTaggedIMG.Title)

'Kurzbeschreibung
'##############################################################
'Formate Description Text from "Description"
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Description", Tools.Convert.Coding.Ascii_To_Base64(oTaggedIMG.Description))
'##############################################################

'Zeitangabe
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Time", oTaggedIMG.Time)
'Ortsangabe-Title
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Place_Title", oTaggedIMG.Ort.Title)
'Ortsangabe-Adresse
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Place_Adresse", oTaggedIMG.Ort.Adresse)

'Ortsangabe-Kurzbeschreibung
'##############################################################
'Formate Description Text from "TMP_TaggIMG.Place.Description"
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Place_Description", Tools.Convert.Coding.Ascii_To_Base64(oTaggedIMG.Ort.Description))
'##############################################################

'Ortsangabe-GPS Koordinaten
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Place_GPS", oTaggedIMG.Ort.GPS)




'Save Marks ############### wird noch geändert ############### <-- 'Anhand von Mark_Index wird anzahl geregelt!
''i = 0
''If oTaggedIMG.Markierung(0).ID <> "" Then
'' For i = 0 To UBound(oTaggedIMG.Markierung)
'' Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Mark" & i & "_ID", Convert.ToString(i))
'' Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Mark" & i & "_PositionX", Convert.ToString(oTaggedIMG.Markierung(i).PositionX))
'' Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Mark" & i & "_PositionY", Convert.ToString(oTaggedIMG.Markierung(i).PositionY))
'' Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Mark" & i & "_Radius", Convert.ToString(oTaggedIMG.Markierung(i).Radius))
'' Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Mark" & i & "_Description", Tools.Convert.Coding.Ascii_To_Base64(oTaggedIMG.Markierung(i).Description))

'' 'Schreibe Begrenzung
'' Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Mark_MaxIndex", i)

'' Next i
''End If

End If 'File.Exists(PicturePath)
End Sub

'###################################################################################################################
'############### Taggs With DB #####################################################################################
'###################################################################################################################



End Module 'PictureTagger
End Namespace 'Stammbaum.Module.PictureTagger

View File

@ -1,5 +1,6 @@
Namespace Tools
Namespace Filesystem
<HideModuleName()>
Module Filesystem

'######################################################################################
@ -93,6 +94,7 @@
End Module
End Namespace 'Filesystem
Namespace Dialoge
<HideModuleName()>
Module Dialoge

Public Function FolderBrowserDialog(Optional ByVal sStartPath As String = "C:\", Optional ByVal ShowNewFolderButton As Boolean = True, Optional ByRef CheckError As Boolean = False) As String
@ -248,15 +250,15 @@
'Gehört noch Proggramiert (Hex - Dezi - Dual - Römisch - ...)
End Namespace 'Numeral_System (Hex - Dezi - Dual - Römisch - ...) in work
Namespace Coding
<HideModuleName()>
Module Coding
'######################################################################################
'##################################Ascii AND Base64####################################
'Ascii to Base64
Public Function Ascii_To_Base64(ByVal AsciiString As String) As String
Dim base64encoded As String = vbNull
If AsciiString = Nothing Then AsciiString = ""
Dim raw As Byte() = System.Text.ASCIIEncoding.ASCII.GetBytes(AsciiString)
base64encoded = System.Convert.ToBase64String(raw)
Ascii_To_Base64 = base64encoded
Ascii_To_Base64 = System.Convert.ToBase64String(raw)
End Function
'Base64 to Ascii
Public Function Base64_To_Ascii(ByVal Base64String As String) As String
@ -272,6 +274,7 @@
End Module 'Coding
End Namespace 'Coding (Ascii, Base64, Dual<-in work, ...)
Namespace Koordinaten
<HideModuleName()>
Module Koordinaten
'Soll anhand der GPS Koordinaten GoogleMaps öfnen
'URL ansteuerung: https://developers.google.com/maps/documentation/staticmaps/
@ -288,6 +291,7 @@
End Namespace 'Koordinaten (GPS einheiten, MapsURLs,...)
End Namespace 'Convert
Namespace Prog_Org
<HideModuleName()>
Module Prog_Org
'######################################################################################
'############################## PORTABLE MODE TOOLS ###################################
@ -335,6 +339,7 @@
'Verschiedenen DBs mit ihren Befehlen
End Namespace 'DBs (SQLite, SQL, MySQL, ...)
Namespace File
<HideModuleName()>
Module File
'Declaration für INI:
Private Declare Ansi Function GetPrivateProfileString Lib "kernel32.dll" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Int32, ByVal lpFileName As String) As Int32

View File

@ -32,7 +32,7 @@ Namespace My
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Protected Overrides Sub OnCreateMainForm()
Me.MainForm = Global.SB_PictureTagger.Main
Me.MainForm = Global.SB_PictureTagger.SB_PictureTagger
End Sub
End Class
End Namespace

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-16"?>
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MySubMain>true</MySubMain>
<MainForm>Main</MainForm>
<MainForm>SB_PictureTagger</MainForm>
<SingleInstance>false</SingleInstance>
<ShutdownMode>0</ShutdownMode>
<EnableVisualStyles>true</EnableVisualStyles>

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

View File

@ -15,6 +15,21 @@
<MyType>WindowsForms</MyType>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>
<IsWebBootstrapper>false</IsWebBootstrapper>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
@ -28,7 +43,7 @@
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<DebugType>None</DebugType>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
@ -48,6 +63,9 @@
<PropertyGroup>
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>Resorcen\Tree.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.VisualBasic.PowerPacks.Vs, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
<Reference Include="System" />
@ -73,7 +91,15 @@
<Import Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Compile Include="Classen.vb" />
<Compile Include="Class_Mark.vb" />
<Compile Include="Class_MarkButton.vb">
<SubType>Component</SubType>
</Compile>
<Compile Include="Class_Place.vb" />
<Compile Include="Class_Rectangle.vb" />
<Compile Include="Class_TaggedIMG.vb">
<SubType>Component</SubType>
</Compile>
<Compile Include="F_SB_PictureTagger.vb">
<SubType>Form</SubType>
</Compile>
@ -96,9 +122,7 @@
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<Compile Include="M_SB_PictureTagger.vb" />
<Compile Include="M_Tools.vb" />
<Compile Include="Setings.vb" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="F_SB_PictureTagger.resx">
@ -122,6 +146,31 @@
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
</ItemGroup>
<ItemGroup>
<Content Include="Resorcen\Tree.ico" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.0,Profile=Client">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4 Client Profile %28x86 and x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
<Visible>False</Visible>
<ProductName>Windows Installer 3.1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.

View File

@ -1,13 +0,0 @@
Namespace Stammbaum.Settings
Namespace PictureTagger
Module PictureTagger
Public Pub_oLoaded_TaggedIMG As New Stammbaum.Classen.PictureTagger.TaggedIMG
Public Pub_sPath As String 'Pfad des Aktuell Arbeits Verzeichnises
Public Pub_aPfade(0) As String 'Array mit den Photo Pfaden
Public Pub_nPfadeIndex As Long = 0 'IndexNR des aktuell Geladenen Photos aus pub_aPfade
Public Pub_aConfigForm(0) As String 'Array mit FormConfiguration
Public Pub_aSupportedFiles(0) As String 'Speichert die Unterstützten Extentions
Public Pub_nOrdnerTiefe As Integer = 0 'Recursive Ordnertiefe beim Ordnereinlesen
End Module
End Namespace
End Namespace