jj 21.03.2016 level designer 1 window, updated translations

This commit is contained in:
JenneJ
2016-03-21 15:44:31 +01:00
parent b141334661
commit 8a528a424f
18 changed files with 5691 additions and 3290 deletions

View File

@@ -2,13 +2,11 @@
#Region "+++++ Konstanten +++++"
'Private akt_ctrl As Control
Private Shared _Instance As frmLevel_Designer = Nothing
Private m_Moving As Boolean = False
Private Mouse_Moving As Boolean = False
Private Mouse_Down As Boolean = False
Private Current_Properties As Object = Nothing
Private LastCursor As Point = Nothing
'Private begin_location As System.Drawing.Point
'Private end_location As System.Drawing.Point
'Public Shared CtrlBuilder As ClassControlBuilder
#End Region
Dim formloaded As Boolean = False
Public Shared Function Instance() As frmLevel_Designer
@@ -26,77 +24,6 @@
Public Sub SetFormName(name As String)
Me.lblFormName.Text = "Name: " & name & " - Form-ID: " & CURRENT_FORM_ID
End Sub
'Public Sub Check_Document_Config(FORM_ID As Integer)
' Try
' Dim res = ClassDatabase.Execute_Scalar("SELECT DOCUMENT_VIEW FROM TBPMO_FORM_VIEW WHERE FORM_ID = " & CURRENT_FORM_ID & " and SCREEN_ID = " & CURRENT_SCREEN_ID)
' If res = True Then
' chkbxdocview.Checked = True
' Dim DT As DataTable = ClassDatabase.Return_Datatable("SELECT WINDREAM_SEARCH,SEARCH_PATTERN1,SEARCH_PATTERN2,SEARCH_PATTERN3,SEARCH_PATTERN4,SEARCH_PATTERN5 FROM TBPMO_FORM_VIEW WHERE FORM_ID = " & CURRENT_FORM_ID & " and SCREEN_ID = " & CURRENT_SCREEN_ID)
' If DT.Rows.Count = 1 Then
' If Not IsDBNull(DT.Rows(0).Item(0)) Then
' txtWindreamsuche.Text = ClassHelper.CheckDBNull(DT.Rows(0).Item(0), "String")
' 'Form-ID (Entity)
' 'Record -ID
' Dim result
' result = ClassHelper.CheckDBNull(DT.Rows(0).Item(1), "String")
' If result <> "" Then
' If result.ToString.ToUpper.Contains("RECORD") Then
' cmbSearchPattern1.SelectedIndex = 1
' Else
' cmbSearchPattern1.SelectedIndex = 0
' End If
' End If
' result = ClassHelper.CheckDBNull(DT.Rows(0).Item(2), "String")
' If result <> "" Then
' If result.ToString.ToUpper.Contains("RECORD") Then
' cmbSearchPattern2.SelectedIndex = 1
' Else
' cmbSearchPattern2.SelectedIndex = 0
' End If
' End If
' result = ClassHelper.CheckDBNull(DT.Rows(0).Item(3), "String")
' If result <> "" Then
' If result.ToString.ToUpper.Contains("RECORD") Then
' cmbSearchPattern3.SelectedIndex = 1
' Else
' cmbSearchPattern3.SelectedIndex = 0
' End If
' End If
' result = ClassHelper.CheckDBNull(DT.Rows(0).Item(4), "String")
' If result <> "" Then
' If result.ToString.ToUpper.Contains("RECORD") Then
' cmbSearchPattern4.SelectedIndex = 1
' Else
' cmbSearchPattern4.SelectedIndex = 0
' End If
' End If
' result = ClassHelper.CheckDBNull(DT.Rows(0).Item(5), "String")
' If result <> "" Then
' If result.ToString.ToUpper.Contains("RECORD") Then
' cmbSearchPattern5.SelectedIndex = 1
' Else
' cmbSearchPattern5.SelectedIndex = 0
' End If
' End If
' 'cmbSearchPattern1.SelectedIndex = cmbSearchPattern1.FindStringExact(ClassHelper.CheckDBNull("@" & DT.Rows(0).Item(1), "String"))
' 'cmbSearchPattern2.SelectedIndex = cmbSearchPattern2.FindStringExact(ClassHelper.CheckDBNull("@" & DT.Rows(0).Item(2), "String"))
' 'cmbSearchPattern3.SelectedIndex = cmbSearchPattern3.FindStringExact(ClassHelper.CheckDBNull("@" & DT.Rows(0).Item(3), "String"))
' 'cmbSearchPattern4.SelectedIndex = cmbSearchPattern4.FindStringExact(ClassHelper.CheckDBNull("@" & DT.Rows(0).Item(4), "String"))
' 'cmbSearchPattern5.SelectedIndex = cmbSearchPattern5.FindStringExact(ClassHelper.CheckDBNull("@" & DT.Rows(0).Item(5), "String"))
' End If
' End If
' Me.grpbxDocumentView.Visible = True
' Else
' chkbxdocview.Visible = True
' chkbxdocview.Checked = False
' Me.grpbxDocumentView.Visible = False
' End If
' Catch ex As Exception
' MsgBox("Error in Check_Document_Config:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
' End Try
'End Sub
#Region "+++++ Drag Drop Funktionen +++++"
@@ -109,11 +36,21 @@
Dim def_font_style As Integer = 0
Dim def_font_size As Integer = 8
Dim defaultCaption As String = "Bezeichner definieren"
If USER_LANGUAGE <> "de-DE" Then
defaultCaption = "Define Identifier"
End If
Dim defaultCalendarCaption As String = "Zu Kalender hinzufügen"
If USER_LANGUAGE <> "de-DE" Then
defaultCalendarCaption = "Add to Calendar"
End If
Dim random As String = ShortGUID()
'Dim random As Integer = r.Next(8, 100)
Select Case type
Case "lbl"
CtrlBuilder.AddLabel(0, "lbl" & random, "Bezeichnung definieren", 0, 0, def_font_family, def_font_color, def_font_size, def_font_style, "", True, Parent)
CtrlBuilder.AddLabel(0, "lbl" & random, defaultCaption, 0, 0, def_font_family, def_font_color, def_font_size, def_font_style, "", True, Parent)
' Aktuelles Control in die Datenbank speichern
ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl)
Case "txt"
@@ -133,11 +70,11 @@
' Aktuelles Control in die Datenbank speichern
ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl)
Case "chk"
CtrlBuilder.AddCheckBox(0, "chk" & random, "Bezeichn. defnieren", False, 0, 0, def_font_family, def_font_color, def_font_size, def_font_style, 0, False, 0, 0, True, False, False, Parent)
CtrlBuilder.AddCheckBox(0, "chk" & random, defaultCaption, False, 0, 0, def_font_family, def_font_color, def_font_size, def_font_style, 0, False, 0, 0, True, False, False, Parent)
' Aktuelles Control in die Datenbank speichern
ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl)
Case "rb"
CtrlBuilder.AddRadioButton(0, "rb" & random, "Bezeichn. defnieren", False, 0, 0, def_font_family, def_font_color, def_font_size, def_font_style, 0, False, 0, 0, True, False, False, Parent)
CtrlBuilder.AddRadioButton(0, "rb" & random, defaultCaption, False, 0, 0, def_font_family, def_font_color, def_font_size, def_font_style, 0, False, 0, 0, True, False, False, Parent)
' Aktuelles Control in die Datenbank speichern
ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl)
@@ -146,18 +83,18 @@
' Aktuelles Control in die Datenbank speichern
ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl)
Case "gb"
CtrlBuilder.AddGroupBox(0, "gb" & random, "Bezeichn. defnieren", 0, 0, 0, 0, ColorToInt(SystemColors.Control), def_font_color, def_font_family, def_font_size, def_font_style, True, Parent)
CtrlBuilder.AddGroupBox(0, "gb" & random, defaultCaption, 0, 0, 0, 0, ColorToInt(SystemColors.Control), def_font_color, def_font_family, def_font_size, def_font_style, True, Parent)
' Aktuelles Control in die Datenbank speichern
ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl)
Case "f_addappointment"
CtrlBuilder.FunctionAddAppointment(0, "f_addappointment" & random, "Zu Kalender hinzufügen", 0, 0, 0, 0, True, Parent)
CtrlBuilder.FunctionAddAppointment(0, "f_addappointment" & random, defaultCalendarCaption, 0, 0, 0, 0, True, Parent)
If ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl) = True Then
Dim ControlId = GetControlID_for_Name(CtrlBuilder.CurrentControl.Name, CURRENT_FORM_ID)
ClassFunctionCommands.InsertFunction(ControlId, "ADDAPPOINTMENT")
End If
Case "f_addformdata"
CtrlBuilder.FunctionAddFormData(0, "f_addformdata" & random, "Add form Data", 0, 0, 0, 0, True, Parent)
CtrlBuilder.FunctionAddFormData(0, "f_addformdata" & random, "Add Form Data", 0, 0, 0, 0, True, Parent)
If ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl) = True Then
Dim ControlId = GetControlID_for_Name(CtrlBuilder.CurrentControl.Name, CURRENT_FORM_ID)
@@ -229,8 +166,8 @@
Dim wid As Integer = Me.Width
Dim update_sizepnl As String = "UPDATE TBPMO_FORM_VIEW SET HEIGHT = " & pnlDesigner.Height & ",WIDTH = " & wid & " where FORM_ID = " & CURRENT_FORM_ID & " and SCREEN_ID = " & CURRENT_SCREEN_ID
ClassDatabase.Execute_non_Query(update_sizepnl)
frmTool_ControlProperties.Instance.Close()
frmTool_ControlDesigner.Instance.Close()
'frmTool_ControlProperties.Instance.Close()
'frmTool_ControlDesigner.Instance.Close()
Catch ex As Exception
@@ -547,9 +484,12 @@
CURRENT_CONTROL_ID = ClassControlCommands.GetControlGuid(CtrlBuilder.CurrentControl.Name)
' Control Eigenschaften laden
frmTool_ControlProperties.Instance.pgControlProperties.Enabled = True
'frmTool_ControlProperties.Instance.pgControlProperties.Enabled = True
pgControlProperties.Enabled = True
'frmTool_ControlProperties.Instance.LoadControlProperties(CtrlBuilder.CurrentControl)
frmTool_ControlProperties.Instance.LoadControlPropertiesNeu(CtrlBuilder.CurrentControl)
'frmTool_ControlProperties.Instance.LoadControlPropertiesNeu(CtrlBuilder.CurrentControl)
LoadControlPropertiesNeu(CtrlBuilder.CurrentControl)
End Sub
@@ -561,20 +501,61 @@
' Set the mode flag to signal the MouseMove event handler that it
' needs to now calculate new positions for our control
m_Moving = True
Mouse_Moving = True
End If
End Sub
Private Sub ControlButton_MouseDown(sender As Object, e As MouseEventArgs) Handles btntextbox.MouseDown,
btnlabel.MouseDown,
btndtp.MouseDown,
btncmb.MouseDown,
btnCheckbox.MouseDown,
btnpb.MouseDown,
btngb.MouseDown,
btn_addtocal.MouseDown,
btn_addformdata.MouseDown,
btnRadioButton.MouseDown,
btnListBoxCheckable.MouseDown,
btnListBox.MouseDown
Mouse_Down = True
End Sub
Private Sub ControlButton_MouseMove(sender As Object, e As MouseEventArgs) Handles btntextbox.MouseMove,
btnlabel.MouseMove,
btndtp.MouseMove,
btncmb.MouseMove,
btnCheckbox.MouseMove,
btnpb.MouseMove,
btngb.MouseMove,
btn_addtocal.MouseMove,
btn_addformdata.MouseMove,
btnRadioButton.MouseMove,
btnListBoxCheckable.MouseMove,
btnListBox.MouseMove
If Mouse_Down Then
Dim ctrl As Button = DirectCast(sender, Button)
Dim type As String = ctrl.Tag.ToString()
ctrl.DoDragDrop(type, DragDropEffects.Copy)
End If
Mouse_Down = False
End Sub
Private Sub Control_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp
' The button was released, so we're going back to Static mode.
If m_Moving = True Then
m_Moving = False
Console.WriteLine("mouseup")
If Mouse_Moving = True Then
Mouse_Moving = False
'end_location = e.Location
CtrlBuilder.EndLocation = e.Location
frmTool_ControlProperties.Instance.UpdateControlLocation(CtrlBuilder.CurrentControl)
'frmTool_ControlProperties.Instance.UpdateControlLocation(CtrlBuilder.CurrentControl)
UpdateControlLocation(CtrlBuilder.CurrentControl)
ClassControlCommands.UpdateControlPosition(CtrlBuilder.CurrentControl.Location.X,
CtrlBuilder.CurrentControl.Location.Y,
CtrlBuilder.CurrentControl)
TabControl1.SelectTab("pageProperties")
'Save_Control()
End If
@@ -582,13 +563,13 @@
' button was pressed
MyBase.Cursor = Cursors.Default
End Sub
Private Sub Control_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
Private Sub Control_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
Try
If CtrlBuilder.CurrentControl Is Nothing Then
Exit Sub
End If
If m_Moving = True Then
If Mouse_Moving = True Then
Me.Cursor = Cursors.Hand
Me.Refresh()
@@ -624,7 +605,7 @@
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "MovableLabel_MouseMove")
m_Moving = False
Mouse_Moving = False
End Try
End Sub
@@ -661,74 +642,354 @@
End If
End Sub
'Private Sub btnWindreamsuche_Click(sender As Object, e As EventArgs)
' If Not Me.txtWindreamsuche.Text = "" Then
' Me.OFDWindreamsuche.FileName = Me.txtWindreamsuche.Text
' End If
' If Me.OFDWindreamsuche.ShowDialog = Windows.Forms.DialogResult.OK Then
' Me.txtWindreamsuche.Text = Me.OFDWindreamsuche.FileName
' End If
'End Sub
'Private Sub btnsavedocView_Click(sender As Object, e As EventArgs)
' Try
' Dim SP1, SP2, SP3, SP4, SP5
' If cmbSearchPattern1.SelectedIndex <> -1 Then
' SP1 = "@" & cmbSearchPattern1.Text
' Else
' SP1 = ""
' End If
' If cmbSearchPattern2.SelectedIndex <> -1 Then
' SP2 = "@" & cmbSearchPattern2.Text
' Else
' SP2 = ""
' End If
' If cmbSearchPattern3.SelectedIndex <> -1 Then
' SP3 = "@" & cmbSearchPattern3.Text
' Else
' SP3 = ""
' End If
' If cmbSearchPattern4.SelectedIndex <> -1 Then
' SP4 = "@" & cmbSearchPattern4.Text
' Else
' SP4 = ""
' End If
' If cmbSearchPattern5.SelectedIndex <> -1 Then
' SP5 = "@" & cmbSearchPattern5.Text
' Else
' SP5 = ""
' End If
' Dim sql = "UPDATE TBPMO_FORM_VIEW SET WINDREAM_SEARCH = '" & txtWindreamsuche.Text & "',SEARCH_PATTERN1 = '" & SP1 & "',SEARCH_PATTERN2= '" & SP2 & "',SEARCH_PATTERN3= '" & SP3 & _
' "',SEARCH_PATTERN4 = '" & SP4 & "',SEARCH_PATTERN5 = '" & SP5 & "', CHANGED_WHO = '" & Environment.UserName & "' where FORM_ID = " & CURRENT_FORM_ID & " and SCREEN_ID = " & CURRENT_SCREEN_ID
' If ClassDatabase.Execute_non_Query(sql) = True Then
' tsstatus.Text = "Document-View properties changed - " & Now
' tsstatus.Visible = True
' End If
' Catch ex As Exception
' MsgBox("Error in Save DocView-properties:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
' tsstatus.Visible = False
' End Try
'End Sub
'Private Sub chkbxdocview_CheckedChanged(sender As Object, e As EventArgs)
' If formloaded = True Then
' Dim sql
' If chkbxdocview.Checked = True Then
' sql = "UPDATE TBPMO_FORM_VIEW SET DOCUMENT_VIEW = 1, CHANGED_WHO = '" & Environment.UserName & "' WHERE FORM_ID = " & CURRENT_FORM_ID & " and SCREEN_ID = " & CURRENT_SCREEN_ID
' Else
' sql = "UPDATE TBPMO_FORM_VIEW SET DOCUMENT_VIEW = 0, CHANGED_WHO = '" & Environment.UserName & "' WHERE FORM_ID = " & CURRENT_FORM_ID & " and SCREEN_ID = " & CURRENT_SCREEN_ID
' End If
' If ClassDatabase.Execute_non_Query(sql) = False Then
' MsgBox("Fehler bei Update Document-View - Check log", MsgBoxStyle.Critical)
' End If
' Check_Document_Config(CURRENT_FORM_ID)
' End If
'End Sub
Private Sub frmLevel_Designer_Shown(sender As Object, e As EventArgs) Handles Me.Shown
formloaded = True
End Sub
Public Sub LoadControlPropertiesNeu(ctrl As Control)
Try
Dim controlId = DirectCast(ctrl.Tag, ClassControlMetadata).Id
Dim sql As String = String.Format("SELECT * FROM VWPMO_CONTROL_SCREEN WHERE CONTROL_ID = {0}", ControlId)
'Dim sqlHint As String = String.Format("SELECT HINT FROM TBPMO_CONTROL_LANGUAGE WHERE CONTROL_SCREEN_ID = {0} AND LANGUAGE_TYPE = '{1}'", controlId, USER_LANGUAGE)
Dim sqlHint = String.Format("SELECT HINT FROM TBPMO_CONTROL_LANGUAGE WHERE CONTROL_SCREEN_ID = (SELECT GUID FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = {0} AND SCREEN_ID = {1}) AND LANGUAGE_TYPE = '{2}'", controlId, CURRENT_SCREEN_ID, USER_LANGUAGE)
Dim dt As DataTable = ClassDatabase.Return_Datatable(sql)
Dim hint As String = ClassConverter.ToStringOrDefault(ClassDatabase.Execute_Scalar(sqlHint), Nothing)
Dim props As Object = Nothing
Dim r As DataRow = Nothing
Dim type As String = Nothing
If dt.Rows.Count <> 1 Then
MsgBox("Unexpected behaviour in LoadControlProperties: No Control could be loaded!" & vbNewLine & "Tag.ControlID: " & ControlId.ToString, MsgBoxStyle.Exclamation)
Exit Sub
End If
r = dt.Rows(0)
type = r.Item("CTRLTYPE_NAME")
'Props Object initialisieren
Select Case type
Case "Label" : props = New LabelProperties()
Case "Textbox" : props = New TextBoxProperties()
Case "Combobox" : props = New ComboBoxProperties()
Case "Checkbox" : props = New CheckBoxProperties()
Case "RadioButton" : props = New RadioButtonProperties()
Case "Datepicker" : props = New DateTimePickerProperties()
Case "Datagridview" : props = New DataGridViewProperties()
Case "Groupbox" : props = New GroupBoxProperties()
Case "Picturebox" : props = New PictureBoxProperties()
Case "ListBox" : props = New ComboBoxProperties()
Case "CheckedListBox" : props = New ComboBoxProperties()
Case "F_AddAppointment" : props = New FunctionAddAppointment()
Case "F_AddFormData" : props = New FunctionAddFormData()
End Select
'Generische Properties laden
props.ID = r.Item("CONTROL_ID")
props.Name = r.Item("CONTROL_NAME")
props.Size = New Size(r.Item("CTRLSCR_WIDTH"), r.Item("CTRLSCR_HEIGHT"))
props.Location = New Point(r.Item("CTRLSCR_X_LOC"), r.Item("CTRLSCR_Y_LOC"))
props.Hint = hint
'Control-spezifische Properties laden
Select Case type
Case "Label"
props.ControlType = "Label"
props.FontColor = IntToColor(r.Item("CTRLSCR_FONT_COLOR"))
props.Font = New Font(r.Item("CTRLSCR_FONT_FAMILY").ToString(),
CType(r.Item("CTRLSCR_FONT_SIZE"), Single),
CType(r.Item("CTRLSCR_FONT_STYLE"), FontStyle))
props.ColumnTitle = r.Item("CONTROL_COL_NAME")
props.Caption = r.Item("CTRLSCR_CAPTION")
props.SQLCommand = New SQLValue(NotNull(r.Item("CONTROL_SQLCOMMAND_1"), ""))
Case "Textbox"
props.ControlType = "TextBox"
props.FontColor = IntToColor(r.Item("CTRLSCR_FONT_COLOR"))
props.Font = New Font(r.Item("CTRLSCR_FONT_FAMILY").ToString(),
CType(r.Item("CTRLSCR_FONT_SIZE"), Single),
CType(r.Item("CTRLSCR_FONT_STYLE"), FontStyle))
props.ColumnTitle = r.Item("CONTROL_COL_NAME")
props.DefaultValue = ClassConverter.ToStringOrDefault(r.Item("CONTROL_DEF_VALUE"))
props.Format = NotNull([Enum].Parse(GetType(EnumFormatOptions), r.Item("CONTROL_FORMAT_TYPE")), EnumFormatOptions.String)
props.IsRequired = r.Item("CONTROL_REQUIRED")
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
props.TabStop = r.Item("CTRLSCR_TAB_STOP")
props.TabIndex = r.Item("CTRLSCR_TAB_INDEX")
props.ShowColumn = NotNull(CBool(r.Item("CONTROL_SHOW_COLUMN")), True)
props.Multiline = r.Item("CONTROL_MULTILINE")
props.SQLCommand = New SQLValue(NotNull(r.Item("CONTROL_SQLCOMMAND_1"), ""))
Case "Combobox"
props.ControlType = "ComboBox"
props.FontColor = IntToColor(r.Item("CTRLSCR_FONT_COLOR"))
props.Font = New Font(r.Item("CTRLSCR_FONT_FAMILY").ToString(),
CType(r.Item("CTRLSCR_FONT_SIZE"), Single),
CType(r.Item("CTRLSCR_FONT_STYLE"), FontStyle))
props.ColumnTitle = r.Item("CONTROL_COL_NAME")
props.DefaultValue = ClassConverter.ToStringOrDefault(r.Item("CONTROL_DEF_VALUE"))
props.MasterDataId = r.Item("CTRLSCR_MASTER_DATA_ID")
props.Format = NotNull([Enum].Parse(GetType(EnumFormatOptions), r.Item("CONTROL_FORMAT_TYPE")), EnumFormatOptions.String)
props.StaticList = NotNull(r.Item("CONTROL_STATIC_LIST"), "")
props.IsRequired = r.Item("CONTROL_REQUIRED")
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
props.TabStop = r.Item("CTRLSCR_TAB_STOP")
props.TabIndex = r.Item("CTRLSCR_TAB_INDEX")
props.ShowColumn = NotNull(CBool(r.Item("CONTROL_SHOW_COLUMN")), True)
props.SQLCommand = New SQLValue(NotNull(r.Item("CONTROL_SQLCOMMAND_1"), ""))
Case "Checkbox"
props.ControlType = "CheckBox"
props.FontColor = IntToColor(r.Item("CTRLSCR_FONT_COLOR"))
props.Font = New Font(r.Item("CTRLSCR_FONT_FAMILY").ToString(),
CType(r.Item("CTRLSCR_FONT_SIZE"), Single),
CType(r.Item("CTRLSCR_FONT_STYLE"), FontStyle))
props.ColumnTitle = r.Item("CONTROL_COL_NAME")
props.Caption = r.Item("CTRLSCR_CAPTION")
props.DefaultValue = ClassConverter.ToBooleanOrDefault(r.Item("CONTROL_DEF_VALUE"))
props.IsRequired = r.Item("CONTROL_REQUIRED")
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
props.ShowColumn = NotNull(CBool(r.Item("CONTROL_SHOW_COLUMN")), True)
props.TabStop = r.Item("CTRLSCR_TAB_STOP")
props.TabIndex = r.Item("CTRLSCR_TAB_INDEX")
Case "RadioButton"
props.ControlType = "RadioButton"
props.ColumnTitle = r.Item("CONTROL_COL_NAME")
props.Caption = r.Item("CTRLSCR_CAPTION")
props.IsRequired = r.Item("CONTROL_REQUIRED")
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
props.FontColor = IntToColor(r.Item("CTRLSCR_FONT_COLOR"))
props.Font = New Font(r.Item("CTRLSCR_FONT_FAMILY").ToString(),
CType(r.Item("CTRLSCR_FONT_SIZE"), Single),
CType(r.Item("CTRLSCR_FONT_STYLE"), FontStyle))
Case "Datepicker"
props.ControlType = "DatePicker"
props.FontColor = IntToColor(r.Item("CTRLSCR_FONT_COLOR"))
props.Font = New Font(r.Item("CTRLSCR_FONT_FAMILY").ToString(),
CType(r.Item("CTRLSCR_FONT_SIZE"), Single),
CType(r.Item("CTRLSCR_FONT_STYLE"), FontStyle))
props.ColumnTitle = r.Item("CONTROL_COL_NAME")
Dim i = r.Item("CONTROL_DEF_VALUE")
props.DefaultValue = NotNull(r.Item("CONTROL_DEF_VALUE"), EnumDateTimePickerDefaultValueOptions.Empty)
props.IsRequired = r.Item("CONTROL_REQUIRED")
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
props.ShowColumn = NotNull(CBool(r.Item("CONTROL_SHOW_COLUMN")), True)
props.TabStop = r.Item("CTRLSCR_TAB_STOP")
props.TabIndex = r.Item("CTRLSCR_TAB_INDEX")
Case "Datagridview"
props.ControlType = "DataGridView/Table"
props.FontColor = IntToColor(r.Item("CTRLSCR_FONT_COLOR"))
props.Font = New Font(r.Item("CTRLSCR_FONT_FAMILY").ToString(),
CType(r.Item("CTRLSCR_FONT_SIZE"), Single),
CType(r.Item("CTRLSCR_FONT_STYLE"), FontStyle))
props.ColumnTitle = ClassConverter.ToStringOrDefault(r.Item("CONTROL_COL_NAME"), ctrl.Name)
props.ShowColumn = ClassConverter.ToBooleanOrDefault(r.Item("CONTROL_SHOW_COLUMN"), True)
props.SQLCommand = New SQLValue(NotNull(r.Item("CONTROL_SQLCOMMAND_1"), ""))
props.IsRequired = r.Item("CONTROL_REQUIRED")
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
Case "Groupbox"
props.ControlType = "GroupBox"
props.Caption = r.Item("CTRLSCR_CAPTION")
props.BackColor = IntToColor(r.Item("CTRLSCR_BACK_COLOR"))
Case "Picturebox"
props.ControlType = "PictureBox"
props.IsRequired = r.Item("CONTROL_REQUIRED")
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
Case "ListBox"
props.ControlType = "ListBox"
props.StaticList = ClassConverter.ToStringOrDefault(r.Item("CONTROL_STATIC_LIST"))
props.IsRequired = r.Item("CONTROL_REQUIRED")
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
props.FontColor = IntToColor(r.Item("CTRLSCR_FONT_COLOR"))
props.Font = New Font(r.Item("CTRLSCR_FONT_FAMILY").ToString(),
CType(r.Item("CTRLSCR_FONT_SIZE"), Single),
CType(r.Item("CTRLSCR_FONT_STYLE"), FontStyle))
props.ColumnTitle = ClassConverter.ToStringOrDefault(r.Item("CONTROL_COL_NAME"), ctrl.Name)
props.ShowColumn = ClassConverter.ToBooleanOrDefault(r.Item("CONTROL_SHOW_COLUMN"), True)
Case "CheckedListBox"
props.ControlType = "CheckedListBox"
props.StaticList = ClassConverter.ToStringOrDefault(r.Item("CONTROL_STATIC_LIST"))
props.IsRequired = r.Item("CONTROL_REQUIRED")
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
props.FontColor = IntToColor(r.Item("CTRLSCR_FONT_COLOR"))
props.Font = New Font(r.Item("CTRLSCR_FONT_FAMILY").ToString(),
CType(r.Item("CTRLSCR_FONT_SIZE"), Single),
CType(r.Item("CTRLSCR_FONT_STYLE"), FontStyle))
props.ColumnTitle = ClassConverter.ToStringOrDefault(r.Item("CONTROL_COL_NAME"), ctrl.Name)
props.ShowColumn = ClassConverter.ToBooleanOrDefault(r.Item("CONTROL_SHOW_COLUMN"), True)
Case "F_AddAppointment"
props.ControlType = "Function.AddToCalendar"
props.Caption() = r.Item("CTRLSCR_CAPTION")
Dim f = ClassFunctionCommands.LoadFunction(controlId)
Dim FromDateId, ToDateId, SubjectString, Subject2String, PlaceString, DescString
FromDateId = f.Item("INTEGER1")
If IsDBNull(FromDateId) OrElse FromDateId = 0 Then
props.FromDate = ""
Else
props.FromDate = Get_Name_for_ControlID(FromDateId, CURRENT_FORM_ID)
End If
ToDateId = f.Item("INTEGER2")
If IsDBNull(ToDateId) OrElse ToDateId = 0 Then
props.ToDate = ""
Else
props.ToDate = Get_Name_for_ControlID(ToDateId, CURRENT_FORM_ID)
End If
SubjectString = f.Item("STRING1")
If IsDBNull(SubjectString) OrElse String.IsNullOrEmpty(SubjectString) Then
props.Subject = ""
Else
props.Subject = SubjectString
End If
Subject2String = f.Item("STRING2")
If IsDBNull(Subject2String) OrElse String.IsNullOrEmpty(Subject2String) Then
props.Subject2 = ""
Else
props.Subject2 = Subject2String
End If
PlaceString = f.Item("STRING3")
If IsDBNull(PlaceString) OrElse String.IsNullOrEmpty(PlaceString) Then
props.Place = ""
Else
props.Place = PlaceString
End If
DescString = f.Item("STRING4")
If IsDBNull(DescString) OrElse String.IsNullOrEmpty(DescString) Then
props.Description = ""
Else
props.Description = DescString
End If
Case "F_AddFormData"
Dim f = ClassFunctionCommands.LoadFunction(controlId)
props.ControlType = "Function.AddFormData"
props.Caption = r.Item("CTRLSCR_CAPTION")
If IsDBNull(f.Item("INTEGER1")) Then
props.FormID = 0
Else
props.FormID = NotNullInt(f.Item("INTEGER1"), 0)
End If
If IsDBNull(f.Item("INTEGER2")) Then
props.ScreenID = 0
Else
props.ScreenID = NotNullInt(f.Item("INTEGER2"), 0)
End If
End Select
CURRENT_CONTROL_ID = r.Item("CONTROL_ID")
' Aktuelle Control Eigenschaften anzeigen
Me.pgControlProperties.SelectedObject = props
' Fenster Titel aktualisieren
Catch ex As Exception
MsgBox("Error in LoadControlProperties" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Public Sub UpdateControlLocation(ctrl As Control)
Current_Properties = Me.pgControlProperties.SelectedObject
If Current_Properties IsNot Nothing Then
Current_Properties.Location = ctrl.Location
Me.pgControlProperties.SelectedObject = Current_Properties
End If
End Sub
Public Function SaveControlProperties(ctrl As Control, properties As Object) As Boolean
If ClassControlCommands.UpdateControl(ctrl, properties) Then
LoadControlPropertiesNeu(ctrl)
Return True
Else
MsgBox("Fehler beim Speichern der Elementeigenschaften.", MsgBoxStyle.Critical)
Return False
End If
End Function
Private Sub btnSaveControl_Click(sender As Object, e As EventArgs) Handles btnSaveControl.Click
If SaveControlProperties(CtrlBuilder.CurrentControl, pgControlProperties.SelectedObject) Then
lblStatus.Text = "Änderungen gespeichert - " & Now
lblStatus.Visible = True
Else
lblStatus.Visible = False
End If
End Sub
Private Sub btnDeleteControl_Click(sender As Object, e As EventArgs) Handles btnDeleteControl.Click
If MsgBox("Wollen Sie das Element wirklich löschen?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
If IsGroupBox(CtrlBuilder.CurrentControl) Then
Dim parentID As Integer = GetControlID_for_Name(CtrlBuilder.CurrentControl.Name, CURRENT_FORM_ID)
Dim SQL = "SELECT GUID FROM TBPMO_CONTROL WHERE PARENT_CONTROL_ID = " & parentID
Dim dt As DataTable = ClassDatabase.Return_Datatable(SQL)
For Each dr As DataRow In dt.Rows
Dim id As Integer = dr.Item(0)
ClassControlCommands.DeleteControl(id)
Next
End If
If ClassControlCommands.DeleteControl() = True Then
'MsgBox("Element gelöscht, Elemente werden neu geladen.", MsgBoxStyle.Information)
CtrlBuilder.ClearControls()
frmLevel_Designer.Instance.LoadControls()
End If
End If
End Sub
Private Sub pgControlProperties_PropertyValueChanged(s As Object, e As PropertyValueChangedEventArgs)
Dim oldValue As Object = e.OldValue
Dim newValue As Object = e.ChangedItem.Value
Dim currentProperty As String = e.ChangedItem.Label
Dim ctrl As Control = CtrlBuilder.CurrentControl
Select Case currentProperty
Case "Location"
ctrl.Location = newValue
Case "X"
ctrl.Location = New Point(newValue, ctrl.Location.Y)
Case "Y"
ctrl.Location = New Point(ctrl.Location.X, newValue)
Case "Size"
ctrl.Size = newValue
Case "Width"
ctrl.Size = New Size(newValue, ctrl.Size.Height)
Case "Height"
ctrl.Size = New Size(ctrl.Size.Width, newValue)
Case "Name"
ctrl.Name = newValue
Case "Caption"
ctrl.Text = newValue
Case "Font"
ctrl.Font = newValue
Case "FontColor"
ctrl.ForeColor = newValue
Case "BackColor"
ctrl.BackColor = newValue
End Select
lblStatus.Text = "Ausstehende Änderungen"
lblStatus.Visible = True
End Sub
End Class