Merge branch 'master' of http://scmadmin@172.24.11.74:90/scm/git/RecordOrganizer
This commit is contained in:
commit
0b1f56f4d0
@ -289,7 +289,8 @@ Public Class ClassControlBuilder
|
|||||||
|
|
||||||
' DependingControlId bezeichnet das Control, das die Abhängigkeit enthält
|
' DependingControlId bezeichnet das Control, das die Abhängigkeit enthält
|
||||||
Dim dependingControlId As Integer = row.Item("GUID")
|
Dim dependingControlId As Integer = row.Item("GUID")
|
||||||
Dim panel As Panel = DirectCast(control.Parent, Panel)
|
Dim panel As Panel = CtrlBuilder.MasterPanel
|
||||||
|
'Dim panel As Panel = DirectCast(control.Parent, Panel)
|
||||||
' Über die Id das Control finden
|
' Über die Id das Control finden
|
||||||
Dim dependingControl As Control = panel.Controls.OfType(Of Control)().Where(Function(c As Control)
|
Dim dependingControl As Control = panel.Controls.OfType(Of Control)().Where(Function(c As Control)
|
||||||
Return DirectCast(c.Tag, ClassControlMetadata).Id = dependingControlId
|
Return DirectCast(c.Tag, ClassControlMetadata).Id = dependingControlId
|
||||||
@ -464,9 +465,13 @@ Public Class ClassControlBuilder
|
|||||||
If CURRENT_RECORD_ID = 0 Then
|
If CURRENT_RECORD_ID = 0 Then
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
If CtrlCommandUI.IsInsert = False Then
|
|
||||||
ClassControlCommandsUI.UpdateMultipleValues(controlId, CURRENT_RECORD_ID, CONTROL_VALUE)
|
|
||||||
End If
|
' Da wir beim Klick auf Hinzfügen einen Record anlegen,
|
||||||
|
' muss UpdateMultipleValues auch aufgerufen werden, wenn wir IsInsert = True ist
|
||||||
|
'If CtrlCommandUI.IsInsert = False Then
|
||||||
|
ClassControlCommandsUI.UpdateMultipleValues(controlId, CURRENT_RECORD_ID, CONTROL_VALUE)
|
||||||
|
'End If
|
||||||
|
|
||||||
|
|
||||||
Dim datatable As DataTable = ClassDatabase.Return_Datatable(SQL)
|
Dim datatable As DataTable = ClassDatabase.Return_Datatable(SQL)
|
||||||
|
|||||||
@ -396,6 +396,7 @@
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
If dynamic.DataTable IsNot Nothing AndAlso dynamic.DataTable.Rows.Count > 0 Then
|
If dynamic.DataTable IsNot Nothing AndAlso dynamic.DataTable.Rows.Count > 0 Then
|
||||||
|
'control.Items.Clear()
|
||||||
SetDataSource(control, dynamic.DataTable)
|
SetDataSource(control, dynamic.DataTable)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|||||||
@ -1,976 +0,0 @@
|
|||||||
Public Class frmLevel_Designer
|
|
||||||
#Region "+++++ Konstanten +++++"
|
|
||||||
'Private akt_ctrl As Control
|
|
||||||
Private Shared _Instance As frmLevel_Designer = Nothing
|
|
||||||
Private Mouse_Moving As Boolean = False
|
|
||||||
Private Mouse_Down As Boolean = False
|
|
||||||
Private Current_Properties As Object = Nothing
|
|
||||||
|
|
||||||
Private LastCursor As Point = Nothing
|
|
||||||
#End Region
|
|
||||||
Dim formloaded As Boolean = False
|
|
||||||
Public Shared Function Instance() As frmLevel_Designer
|
|
||||||
If _Instance Is Nothing OrElse _Instance.IsDisposed = True Then
|
|
||||||
_Instance = New frmLevel_Designer
|
|
||||||
End If
|
|
||||||
_Instance.BringToFront()
|
|
||||||
Return _Instance
|
|
||||||
End Function
|
|
||||||
|
|
||||||
Public Sub SetFormTitle(title As String)
|
|
||||||
Me.Text = "Formdesigner: " & title
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Public Sub SetFormName(name As String)
|
|
||||||
Me.lblFormName.Text = "Name: " & name & " - Form-ID: " & CURRENT_FORM_ID
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
|
|
||||||
#Region "+++++ Drag Drop Funktionen +++++"
|
|
||||||
|
|
||||||
Public Sub ControlDragDrop(type As String, Parent As GroupBox)
|
|
||||||
Try
|
|
||||||
Dim r As New System.Random()
|
|
||||||
Dim def_font_family As String = DefaultFont.Name
|
|
||||||
Dim def_font_color As Integer = DefaultForeColor.ToArgb
|
|
||||||
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, 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"
|
|
||||||
CtrlBuilder.AddTextBox(0, "txt" & random, 0, 0, def_font_family, def_font_color, def_font_size, def_font_style, 0, True, 0, 0, False, False, False, "String", True, Parent)
|
|
||||||
' Aktuelles Control in die Datenbank speichern
|
|
||||||
ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl)
|
|
||||||
Case "cmb"
|
|
||||||
CtrlBuilder.AddComboBox(0, "cmb" & random, 0, 0, def_font_family, def_font_color, def_font_size, def_font_style, 0, True, 0, 0, "String", True, False, False, "", "", Parent)
|
|
||||||
' Aktuelles Control in die Datenbank speichern
|
|
||||||
ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl)
|
|
||||||
Case "dtp"
|
|
||||||
CtrlBuilder.AddDateTimePicker(0, "dtp" & random, 0, 0, def_font_family, def_font_size, def_font_style, 0, False, 0, 0, False, False, True, Parent)
|
|
||||||
' Aktuelles Control in die Datenbank speichern
|
|
||||||
ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl)
|
|
||||||
Case "dgv"
|
|
||||||
CtrlBuilder.AddDataGridView(0, "dgv" & random, 0, 0, 0, 0, True, False, False, "dgv" & random, Parent)
|
|
||||||
' Aktuelles Control in die Datenbank speichern
|
|
||||||
ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl)
|
|
||||||
Case "chk"
|
|
||||||
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, 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 "pb"
|
|
||||||
CtrlBuilder.AddPictureBox(0, "pb" & random, 0, 0, 0, 0, True, False, False, Parent)
|
|
||||||
' Aktuelles Control in die Datenbank speichern
|
|
||||||
ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl)
|
|
||||||
Case "gb"
|
|
||||||
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, 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)
|
|
||||||
|
|
||||||
If ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl) = True Then
|
|
||||||
Dim ControlId = GetControlID_for_Name(CtrlBuilder.CurrentControl.Name, CURRENT_FORM_ID)
|
|
||||||
ClassFunctionCommands.InsertFunction(ControlId, "ADDFORMDATA")
|
|
||||||
End If
|
|
||||||
Case "lstbxcheck"
|
|
||||||
CtrlBuilder.AddCheckedListBox(0, "chlb" & random, 0, 0, def_font_family, def_font_color, def_font_size, def_font_style, 0, True, 0, 0, True, False, False, "", "", Parent)
|
|
||||||
' Aktuelles Control in die Datenbank speichern
|
|
||||||
ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl)
|
|
||||||
Case "lstbx"
|
|
||||||
CtrlBuilder.AddListBox(0, "lbx" & random, 0, 0, def_font_family, def_font_color, def_font_size, def_font_style, 0, True, 0, 0, True, False, False, "", "", Parent)
|
|
||||||
' Aktuelles Control in die Datenbank speichern
|
|
||||||
ClassControlCommands.InsertControl(CtrlBuilder.CurrentControl)
|
|
||||||
Case Else
|
|
||||||
MsgBox("Event '" & type & "' nicht definiert")
|
|
||||||
End Select
|
|
||||||
Catch ex As Exception
|
|
||||||
MsgBox("unexpected Error in ControlDragDrop: " & vbNewLine, MsgBoxStyle.Critical)
|
|
||||||
End Try
|
|
||||||
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Public Sub Groupbox_DragDrop(sender As Object, e As DragEventArgs)
|
|
||||||
Dim type As String = e.Data.GetData(DataFormats.Text)
|
|
||||||
Dim GroupBox As GroupBox = CType(sender, GroupBox)
|
|
||||||
|
|
||||||
ControlDragDrop(type, GroupBox)
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub pnlDesigner_DragDrop(sender As Object, e As DragEventArgs)
|
|
||||||
Dim type As String = e.Data.GetData(DataFormats.Text)
|
|
||||||
|
|
||||||
ControlDragDrop(type, Nothing)
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub pnlDesigner_DragEnter(sender As Object, e As DragEventArgs)
|
|
||||||
' Check the format of the data being dropped.
|
|
||||||
If (e.Data.GetDataPresent(DataFormats.Text)) Then
|
|
||||||
' Display the copy cursor.
|
|
||||||
e.Effect = DragDropEffects.Copy
|
|
||||||
Else
|
|
||||||
' Display the no-drop cursor.
|
|
||||||
e.Effect = DragDropEffects.None
|
|
||||||
End If
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
#End Region
|
|
||||||
|
|
||||||
#Region "+++++ Form Events +++++"
|
|
||||||
Private Sub frmLevel_Designer_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
|
|
||||||
Try
|
|
||||||
Dim sw
|
|
||||||
|
|
||||||
sw = Stopwatch.StartNew()
|
|
||||||
ClassWindowLocation.SaveFormLocationSize(Me, 1, CURRENT_SCREEN_ID, "frmLevel_Designer")
|
|
||||||
sw.Stop()
|
|
||||||
Console.WriteLine(String.Format("SaveFormLocationSize took {0}ms", sw.ElapsedMilliseconds))
|
|
||||||
|
|
||||||
sw = Stopwatch.StartNew()
|
|
||||||
My.Settings.Save()
|
|
||||||
sw.Stop()
|
|
||||||
Console.WriteLine(String.Format("My.Settings.Save took {0}ms", sw.ElapsedMilliseconds))
|
|
||||||
|
|
||||||
sw = Stopwatch.StartNew()
|
|
||||||
RebuildView()
|
|
||||||
sw.Stop()
|
|
||||||
Console.WriteLine(String.Format("RebuildView took {0}ms", sw.ElapsedMilliseconds))
|
|
||||||
|
|
||||||
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()
|
|
||||||
|
|
||||||
|
|
||||||
Catch ex As Exception
|
|
||||||
|
|
||||||
End Try
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub frmLevel_Designer_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
||||||
ClassWindowLocation.LoadFormLocationSize(Me, 1, CURRENT_SCREEN_ID, "frmLevel_Designer")
|
|
||||||
|
|
||||||
' ADDED 18.11
|
|
||||||
CtrlBuilder = New ClassControlBuilder(pnlDesigner,
|
|
||||||
AddressOf Control_MouseDown,
|
|
||||||
AddressOf Control_MouseUp,
|
|
||||||
AddressOf Control_MouseMove,
|
|
||||||
AddressOf Control_Click,
|
|
||||||
AddressOf Groupbox_DragDrop)
|
|
||||||
|
|
||||||
If ClassDatabase.Init = True Then
|
|
||||||
LoadFormProperties()
|
|
||||||
LoadControls()
|
|
||||||
End If
|
|
||||||
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub HandleToolTip(sender As Object, e As EventArgs)
|
|
||||||
Console.WriteLine("show tooltip")
|
|
||||||
End Sub
|
|
||||||
#End Region
|
|
||||||
|
|
||||||
#Region "+++++ Load Funktionen +++++"
|
|
||||||
Public Sub LoadFormProperties()
|
|
||||||
Dim NAME_SQL As String = "SELECT NAME FROM TBPMO_FORM WHERE GUID = " & CURRENT_FORM_ID
|
|
||||||
Dim formviewid = ClassDatabase.Execute_Scalar("SELECT GUID FROM TBPMO_FORM_VIEW WHERE FORM_ID = " & CURRENT_FORM_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
|
|
||||||
Dim TITLE_SQL As String = "SELECT CAPTION FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = 'FORMVIEW_TITLE" & formviewid & "' and SCREEN_ID = " & CURRENT_SCREEN_ID & " AND LANGUAGE_TYPE = '" & USER_LANGUAGE & "'"
|
|
||||||
Dim Height = ClassDatabase.Execute_Scalar("SELECT HEIGHT FROM TBPMO_FORM_VIEW WHERE FORM_ID = " & CURRENT_FORM_ID & " and SCREEN_ID = " & CURRENT_SCREEN_ID)
|
|
||||||
Dim width = ClassDatabase.Execute_Scalar("SELECT WIDTH FROM TBPMO_FORM_VIEW WHERE FORM_ID = " & CURRENT_FORM_ID & " and SCREEN_ID = " & CURRENT_SCREEN_ID)
|
|
||||||
Dim name = ClassDatabase.Execute_Scalar(NAME_SQL)
|
|
||||||
Dim title = ClassDatabase.Execute_Scalar(TITLE_SQL)
|
|
||||||
' Check_Document_Config(CURRENT_FORM_ID)
|
|
||||||
If Not IsDBNull(Height) Then
|
|
||||||
If Height > 100 Then
|
|
||||||
Me.pnlDesigner.Height = Height
|
|
||||||
End If
|
|
||||||
'If Not IsDBNull(width) Then
|
|
||||||
If width > 500 Then
|
|
||||||
' Me.Width = width
|
|
||||||
End If
|
|
||||||
|
|
||||||
'End If
|
|
||||||
End If
|
|
||||||
SetFormName(name)
|
|
||||||
SetFormTitle(title)
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Public Sub LoadControls()
|
|
||||||
Dim sql = String.Format("SELECT T.*, dbo.FNPMO_GET_CONTROL_CAPTION ('{0}', {1},T.CONTROL_ID) AS 'CAPTION' FROM VWPMO_CONTROL_SCREEN T" & _
|
|
||||||
" where T.FORM_ID = {2} and T.SCREEN_ID = {3}", USER_LANGUAGE, CURRENT_SCREEN_ID, CURRENT_FORM_ID, CURRENT_SCREEN_ID)
|
|
||||||
Dim dt As DataTable = ClassDatabase.Return_Datatable(sql)
|
|
||||||
|
|
||||||
For Each dr As DataRow In dt.Rows
|
|
||||||
|
|
||||||
Dim parent As GroupBox = Nothing
|
|
||||||
If (dr.Item("CONTROL_PARENT_ID") <> 0) Then
|
|
||||||
Dim parentname As String = Get_Name_for_ControlID(dr.Item("CONTROL_PARENT_ID"), CURRENT_FORM_ID)
|
|
||||||
parent = CtrlBuilder.GetControlByName(parentname)
|
|
||||||
End If
|
|
||||||
|
|
||||||
Select Case dr.Item("CTRLTYPE_ID")
|
|
||||||
Case 1 ' Label
|
|
||||||
CtrlBuilder.AddLabel(dr.Item("CONTROL_ID"),
|
|
||||||
dr.Item("CONTROL_NAME"),
|
|
||||||
dr.Item("CAPTION"),
|
|
||||||
dr.Item("CTRLSCR_X_LOC"),
|
|
||||||
dr.Item("CTRLSCR_Y_LOC"),
|
|
||||||
dr.Item("CTRLSCR_FONT_FAMILY"),
|
|
||||||
dr.Item("CTRLSCR_FONT_COLOR"),
|
|
||||||
dr.Item("CTRLSCR_FONT_SIZE"),
|
|
||||||
dr.Item("CTRLSCR_FONT_STYLE"),
|
|
||||||
dr.Item("CONTROL_SQLCOMMAND_1"),
|
|
||||||
False,
|
|
||||||
parent,
|
|
||||||
True)
|
|
||||||
Case 2 ' TextBox
|
|
||||||
CtrlBuilder.AddTextBox(dr.Item("CONTROL_ID"),
|
|
||||||
dr.Item("CONTROL_NAME"),
|
|
||||||
dr.Item("CTRLSCR_X_LOC"),
|
|
||||||
dr.Item("CTRLSCR_Y_LOC"),
|
|
||||||
dr.Item("CTRLSCR_FONT_FAMILY"),
|
|
||||||
dr.Item("CTRLSCR_FONT_COLOR"),
|
|
||||||
dr.Item("CTRLSCR_FONT_SIZE"),
|
|
||||||
dr.Item("CTRLSCR_FONT_STYLE"),
|
|
||||||
dr.Item("CTRLSCR_TAB_INDEX"),
|
|
||||||
dr.Item("CTRLSCR_TAB_STOP"),
|
|
||||||
dr.Item("CTRLSCR_WIDTH"),
|
|
||||||
dr.Item("CTRLSCR_HEIGHT"),
|
|
||||||
dr.Item("CONTROL_MULTILINE"),
|
|
||||||
dr.Item("CONTROL_READ_ONLY"),
|
|
||||||
dr.Item("CONTROL_REQUIRED"),
|
|
||||||
dr.Item("CONTROL_FORMAT_TYPE"),
|
|
||||||
False,
|
|
||||||
parent,
|
|
||||||
True)
|
|
||||||
Case 3 ' ComboBox
|
|
||||||
CtrlBuilder.AddComboBox(dr.Item("CONTROL_ID"),
|
|
||||||
dr.Item("CONTROL_NAME"),
|
|
||||||
dr.Item("CTRLSCR_X_LOC"),
|
|
||||||
dr.Item("CTRLSCR_Y_LOC"),
|
|
||||||
dr.Item("CTRLSCR_FONT_FAMILY"),
|
|
||||||
dr.Item("CTRLSCR_FONT_COLOR"),
|
|
||||||
dr.Item("CTRLSCR_FONT_SIZE"),
|
|
||||||
dr.Item("CTRLSCR_FONT_STYLE"),
|
|
||||||
dr.Item("CTRLSCR_TAB_INDEX"),
|
|
||||||
dr.Item("CTRLSCR_TAB_STOP"),
|
|
||||||
dr.Item("CTRLSCR_WIDTH"),
|
|
||||||
dr.Item("CTRLSCR_HEIGHT"),
|
|
||||||
dr.Item("CONTROL_FORMAT_TYPE"),
|
|
||||||
False,
|
|
||||||
dr.Item("CONTROL_READ_ONLY"),
|
|
||||||
dr.Item("CONTROL_REQUIRED"),
|
|
||||||
dr.Item("CONTROL_STATIC_LIST"),
|
|
||||||
dr.Item("CONTROL_SQLCOMMAND_1"),
|
|
||||||
parent,
|
|
||||||
True)
|
|
||||||
Case 4 ' DateTimePicker
|
|
||||||
CtrlBuilder.AddDateTimePicker(dr.Item("CONTROL_ID"),
|
|
||||||
dr.Item("CONTROL_NAME"),
|
|
||||||
dr.Item("CTRLSCR_X_LOC"),
|
|
||||||
dr.Item("CTRLSCR_Y_LOC"),
|
|
||||||
dr.Item("CTRLSCR_FONT_FAMILY"),
|
|
||||||
dr.Item("CTRLSCR_FONT_SIZE"),
|
|
||||||
dr.Item("CTRLSCR_FONT_STYLE"),
|
|
||||||
dr.Item("CTRLSCR_TAB_INDEX"),
|
|
||||||
dr.Item("CTRLSCR_TAB_STOP"),
|
|
||||||
dr.Item("CTRLSCR_WIDTH"),
|
|
||||||
dr.Item("CTRLSCR_HEIGHT"),
|
|
||||||
dr.Item("CONTROL_READ_ONLY"),
|
|
||||||
dr.Item("CONTROL_REQUIRED"),
|
|
||||||
False,
|
|
||||||
parent,
|
|
||||||
True)
|
|
||||||
Case 5 ' GroupBox
|
|
||||||
CtrlBuilder.AddGroupBox(dr.Item("CONTROL_ID"),
|
|
||||||
dr.Item("CONTROL_NAME"),
|
|
||||||
dr.Item("CTRLSCR_CAPTION"),
|
|
||||||
dr.Item("CTRLSCR_X_LOC"),
|
|
||||||
dr.Item("CTRLSCR_Y_LOC"),
|
|
||||||
dr.Item("CTRLSCR_WIDTH"),
|
|
||||||
dr.Item("CTRLSCR_HEIGHT"),
|
|
||||||
dr.Item("CTRLSCR_BACK_COLOR"),
|
|
||||||
dr.Item("CTRLSCR_FONT_COLOR"),
|
|
||||||
dr.Item("CTRLSCR_FONT_FAMILY"),
|
|
||||||
dr.Item("CTRLSCR_FONT_SIZE"),
|
|
||||||
dr.Item("CTRLSCR_FONT_STYLE"),
|
|
||||||
False,
|
|
||||||
parent,
|
|
||||||
True)
|
|
||||||
Case 6 ' PictureBox
|
|
||||||
CtrlBuilder.AddPictureBox(dr.Item("CONTROL_ID"),
|
|
||||||
dr.Item("CONTROL_NAME"),
|
|
||||||
dr.Item("CTRLSCR_X_LOC"),
|
|
||||||
dr.Item("CTRLSCR_Y_LOC"),
|
|
||||||
dr.Item("CTRLSCR_WIDTH"),
|
|
||||||
dr.Item("CTRLSCR_HEIGHT"),
|
|
||||||
False,
|
|
||||||
dr.Item("CONTROL_READ_ONLY"),
|
|
||||||
dr.Item("CONTROL_REQUIRED"),
|
|
||||||
parent,
|
|
||||||
True)
|
|
||||||
Case 7 ' DataGridView
|
|
||||||
CtrlBuilder.AddDataGridView(dr.Item("CONTROL_ID"),
|
|
||||||
dr.Item("CONTROL_NAME"),
|
|
||||||
dr.Item("CTRLSCR_X_LOC"),
|
|
||||||
dr.Item("CTRLSCR_Y_LOC"),
|
|
||||||
dr.Item("CTRLSCR_WIDTH"),
|
|
||||||
dr.Item("CTRLSCR_HEIGHT"),
|
|
||||||
False,
|
|
||||||
dr.Item("CONTROL_READ_ONLY"),
|
|
||||||
dr.Item("CONTROL_REQUIRED"),
|
|
||||||
dr.Item("CONTROL_COL_NAME"),
|
|
||||||
parent,
|
|
||||||
True)
|
|
||||||
Case 10 ' Checkbox
|
|
||||||
Dim Checked As Boolean
|
|
||||||
If IsDBNull(dr.Item("CONTROL_DEF_VALUE")) Then
|
|
||||||
Checked = False
|
|
||||||
Else
|
|
||||||
Checked = StrToBool(dr.Item("CONTROL_DEF_VALUE"))
|
|
||||||
End If
|
|
||||||
CtrlBuilder.AddCheckBox(dr.Item("CONTROL_ID"),
|
|
||||||
dr.Item("CONTROL_NAME"),
|
|
||||||
dr.Item("CTRLSCR_CAPTION"),
|
|
||||||
Checked,
|
|
||||||
dr.Item("CTRLSCR_X_LOC"),
|
|
||||||
dr.Item("CTRLSCR_Y_LOC"),
|
|
||||||
dr.Item("CTRLSCR_FONT_FAMILY"),
|
|
||||||
dr.Item("CTRLSCR_FONT_COLOR"),
|
|
||||||
dr.Item("CTRLSCR_FONT_SIZE"),
|
|
||||||
dr.Item("CTRLSCR_FONT_STYLE"),
|
|
||||||
dr.Item("CTRLSCR_TAB_INDEX"),
|
|
||||||
dr.Item("CTRLSCR_TAB_STOP"),
|
|
||||||
dr.Item("CTRLSCR_WIDTH"),
|
|
||||||
dr.Item("CTRLSCR_HEIGHT"),
|
|
||||||
False,
|
|
||||||
dr.Item("CONTROL_READ_ONLY"),
|
|
||||||
dr.Item("CONTROL_REQUIRED"),
|
|
||||||
parent,
|
|
||||||
True)
|
|
||||||
Case 8 'AddAppointment Button
|
|
||||||
CtrlBuilder.FunctionAddAppointment(dr.Item("CONTROL_ID"),
|
|
||||||
dr.Item("CONTROL_NAME"),
|
|
||||||
dr.Item("CTRLSCR_CAPTION"),
|
|
||||||
dr.Item("CTRLSCR_X_LOC"),
|
|
||||||
dr.Item("CTRLSCR_Y_LOC"),
|
|
||||||
dr.Item("CTRLSCR_WIDTH"),
|
|
||||||
dr.Item("CTRLSCR_HEIGHT"),
|
|
||||||
False,
|
|
||||||
parent,
|
|
||||||
True)
|
|
||||||
Case 9 'AddFormData
|
|
||||||
CtrlBuilder.FunctionAddFormData(dr.Item("CONTROL_ID"),
|
|
||||||
dr.Item("CONTROL_NAME"),
|
|
||||||
dr.Item("CTRLSCR_CAPTION"),
|
|
||||||
dr.Item("CTRLSCR_X_LOC"),
|
|
||||||
dr.Item("CTRLSCR_Y_LOC"),
|
|
||||||
dr.Item("CTRLSCR_WIDTH"),
|
|
||||||
dr.Item("CTRLSCR_HEIGHT"),
|
|
||||||
False,
|
|
||||||
parent,
|
|
||||||
True)
|
|
||||||
|
|
||||||
Case 11 ' RadioButton
|
|
||||||
Dim Checked As Boolean
|
|
||||||
If IsDBNull(dr.Item("CONTROL_DEF_VALUE")) Then
|
|
||||||
Checked = False
|
|
||||||
Else
|
|
||||||
Checked = StrToBool(dr.Item("CONTROL_DEF_VALUE"))
|
|
||||||
End If
|
|
||||||
CtrlBuilder.AddRadioButton(dr.Item("CONTROL_ID"),
|
|
||||||
dr.Item("CONTROL_NAME"),
|
|
||||||
dr.Item("CTRLSCR_CAPTION"),
|
|
||||||
Checked,
|
|
||||||
dr.Item("CTRLSCR_X_LOC"),
|
|
||||||
dr.Item("CTRLSCR_Y_LOC"),
|
|
||||||
dr.Item("CTRLSCR_FONT_FAMILY"),
|
|
||||||
dr.Item("CTRLSCR_FONT_COLOR"),
|
|
||||||
dr.Item("CTRLSCR_FONT_SIZE"),
|
|
||||||
dr.Item("CTRLSCR_FONT_STYLE"),
|
|
||||||
dr.Item("CTRLSCR_TAB_INDEX"),
|
|
||||||
dr.Item("CTRLSCR_TAB_STOP"),
|
|
||||||
dr.Item("CTRLSCR_WIDTH"),
|
|
||||||
dr.Item("CTRLSCR_HEIGHT"),
|
|
||||||
False,
|
|
||||||
dr.Item("CONTROL_READ_ONLY"),
|
|
||||||
dr.Item("CONTROL_REQUIRED"),
|
|
||||||
parent,
|
|
||||||
True)
|
|
||||||
Case 12 'CheckedListBox
|
|
||||||
CtrlBuilder.AddCheckedListBox(dr.Item("CONTROL_ID"),
|
|
||||||
dr.Item("CONTROL_NAME"),
|
|
||||||
dr.Item("CTRLSCR_X_LOC"),
|
|
||||||
dr.Item("CTRLSCR_Y_LOC"),
|
|
||||||
dr.Item("CTRLSCR_FONT_FAMILY"),
|
|
||||||
dr.Item("CTRLSCR_FONT_COLOR"),
|
|
||||||
dr.Item("CTRLSCR_FONT_SIZE"),
|
|
||||||
dr.Item("CTRLSCR_FONT_STYLE"),
|
|
||||||
dr.Item("CTRLSCR_TAB_INDEX"),
|
|
||||||
dr.Item("CTRLSCR_TAB_STOP"),
|
|
||||||
dr.Item("CTRLSCR_WIDTH"),
|
|
||||||
dr.Item("CTRLSCR_HEIGHT"),
|
|
||||||
False,
|
|
||||||
dr.Item("CONTROL_READ_ONLY"),
|
|
||||||
dr.Item("CONTROL_REQUIRED"),
|
|
||||||
dr.Item("CONTROL_STATIC_LIST"),
|
|
||||||
dr.Item("CONTROL_SQLCOMMAND_1"),
|
|
||||||
parent,
|
|
||||||
True)
|
|
||||||
Case 13 'ListBox
|
|
||||||
CtrlBuilder.AddListBox(dr.Item("CONTROL_ID"),
|
|
||||||
dr.Item("CONTROL_NAME"),
|
|
||||||
dr.Item("CTRLSCR_X_LOC"),
|
|
||||||
dr.Item("CTRLSCR_Y_LOC"),
|
|
||||||
dr.Item("CTRLSCR_FONT_FAMILY"),
|
|
||||||
dr.Item("CTRLSCR_FONT_COLOR"),
|
|
||||||
dr.Item("CTRLSCR_FONT_SIZE"),
|
|
||||||
dr.Item("CTRLSCR_FONT_STYLE"),
|
|
||||||
dr.Item("CTRLSCR_TAB_INDEX"),
|
|
||||||
dr.Item("CTRLSCR_TAB_STOP"),
|
|
||||||
dr.Item("CTRLSCR_WIDTH"),
|
|
||||||
dr.Item("CTRLSCR_HEIGHT"),
|
|
||||||
False,
|
|
||||||
dr.Item("CONTROL_READ_ONLY"),
|
|
||||||
dr.Item("CONTROL_REQUIRED"),
|
|
||||||
dr.Item("CONTROL_STATIC_LIST"),
|
|
||||||
dr.Item("CONTROL_SQLCOMMAND_1"),
|
|
||||||
parent,
|
|
||||||
True)
|
|
||||||
End Select
|
|
||||||
Next
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
|
|
||||||
#End Region
|
|
||||||
|
|
||||||
#Region "+++++ Mouse Events +++++"
|
|
||||||
Private Sub Control_Click(sender As Object, e As EventArgs)
|
|
||||||
Dim control As Control = DirectCast(sender, Control)
|
|
||||||
|
|
||||||
' Aktuelles Control highlighten
|
|
||||||
control.BringToFront()
|
|
||||||
CtrlBuilder.SetAllActiveColor()
|
|
||||||
|
|
||||||
' GUID des aktuellen Controls speichern
|
|
||||||
CURRENT_CONTROL_ID = ClassControlCommands.GetControlGuid(CtrlBuilder.CurrentControl.Name)
|
|
||||||
|
|
||||||
' Control Eigenschaften laden
|
|
||||||
'frmTool_ControlProperties.Instance.pgControlProperties.Enabled = True
|
|
||||||
pgControlProperties.Enabled = True
|
|
||||||
|
|
||||||
'frmTool_ControlProperties.Instance.LoadControlProperties(CtrlBuilder.CurrentControl)
|
|
||||||
'frmTool_ControlProperties.Instance.LoadControlPropertiesNeu(CtrlBuilder.CurrentControl)
|
|
||||||
LoadControlPropertiesNeu(CtrlBuilder.CurrentControl)
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
|
|
||||||
Private Sub Control_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
|
|
||||||
' Check to see if the correct button has been pressed
|
|
||||||
If e.Button = Windows.Forms.MouseButtons.Left Then
|
|
||||||
CtrlBuilder.CurrentControl = sender
|
|
||||||
CtrlBuilder.BeginLocation = e.Location
|
|
||||||
|
|
||||||
' Set the mode flag to signal the MouseMove event handler that it
|
|
||||||
' needs to now calculate new positions for our control
|
|
||||||
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 = True Then
|
|
||||||
Dim control As Control = DirectCast(sender, Control)
|
|
||||||
control.DoDragDrop(control.Tag, 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 Mouse_Moving = True Then
|
|
||||||
Mouse_Moving = False
|
|
||||||
'end_location = e.Location
|
|
||||||
CtrlBuilder.EndLocation = e.Location
|
|
||||||
|
|
||||||
'frmTool_ControlProperties.Instance.UpdateControlLocation(CtrlBuilder.CurrentControl)
|
|
||||||
UpdateControlLocation(CtrlBuilder.CurrentControl)
|
|
||||||
ClassControlCommands.UpdateControlPosition(CtrlBuilder.CurrentControl.Location.X,
|
|
||||||
CtrlBuilder.CurrentControl.Location.Y,
|
|
||||||
CtrlBuilder.CurrentControl)
|
|
||||||
|
|
||||||
'Save_Control()
|
|
||||||
End If
|
|
||||||
' Restore the cursor image to the way we found it when the mouse
|
|
||||||
' 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
|
|
||||||
Try
|
|
||||||
If CtrlBuilder.CurrentControl Is Nothing Then
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Mouse_Moving = True Then
|
|
||||||
Me.Cursor = Cursors.Hand
|
|
||||||
Me.Refresh()
|
|
||||||
|
|
||||||
Dim control As Control = DirectCast(sender, Control)
|
|
||||||
Dim NowCursor As Point = CtrlBuilder.GetCursorPosition()
|
|
||||||
|
|
||||||
' Wenn das Control in einer GroupBox steckt
|
|
||||||
If ParentIsGroupBox(control) Then
|
|
||||||
Dim p As Control = control.Parent
|
|
||||||
Dim newPos As Point = New Point(NowCursor.X - p.Location.X - e.Location.X,
|
|
||||||
NowCursor.Y - p.Location.Y - e.Location.Y)
|
|
||||||
|
|
||||||
' Verhindert, dass das Control links+oben außerhalb der Groupbox geschoben wird = unerreichbar
|
|
||||||
If newPos.X < 0 Or newPos.Y < 0 Then
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Verhindert, dass das Control rechts+unten außerhalb der Groupbox geschoben wird = unerreichbar
|
|
||||||
If (newPos.X + control.Size.Width) > p.Size.Width Or (newPos.Y + control.Size.Height) > p.Size.Height Then
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Point.op_Inequality(NowCursor, LastCursor) Then
|
|
||||||
control.Location = newPos
|
|
||||||
LastCursor = NowCursor
|
|
||||||
End If
|
|
||||||
|
|
||||||
Else
|
|
||||||
' Alle normalen Controls
|
|
||||||
control.Location = New Point(NowCursor.X - CtrlBuilder.BeginLocation.X,
|
|
||||||
NowCursor.Y - CtrlBuilder.BeginLocation.Y)
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
Catch ex As Exception
|
|
||||||
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "MovableLabel_MouseMove")
|
|
||||||
Mouse_Moving = False
|
|
||||||
End Try
|
|
||||||
|
|
||||||
End Sub
|
|
||||||
#End Region
|
|
||||||
|
|
||||||
Private Sub Control_PressTab(sender As Object, e As PreviewKeyDownEventArgs)
|
|
||||||
'NOOP
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Function RebuildView()
|
|
||||||
Try
|
|
||||||
'Dim sql = "EXECUTE PRPMO_CREATE_SQL " & CURRENT_FORM_ID
|
|
||||||
'ClassDatabase.Execute_non_Query_Async(sql)
|
|
||||||
'Dim sql2 = "EXECUTE PRPMO_CREATE_TEMP_VIEWS"
|
|
||||||
'ClassDatabase.Execute_non_Query_Async(sql2)
|
|
||||||
'Return True
|
|
||||||
|
|
||||||
Dim noerror As Boolean = False
|
|
||||||
Dim sql = "EXECUTE PRPMO_CREATE_SQL " & CURRENT_FORM_ID
|
|
||||||
noerror = ClassDatabase.Execute_non_Query_withConn(sql, 1)
|
|
||||||
sql = "EXECUTE PRPMO_CREATE_TEMP_VIEWS"
|
|
||||||
noerror = ClassDatabase.Execute_non_Query_withConn(sql, 1)
|
|
||||||
Return noerror
|
|
||||||
Catch ex As Exception
|
|
||||||
MsgBox("Error in btnexecute_CreateViewSql:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
|
||||||
Return False
|
|
||||||
End Try
|
|
||||||
End Function
|
|
||||||
|
|
||||||
|
|
||||||
Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click
|
|
||||||
If RebuildView() = True Then
|
|
||||||
MsgBox("The Views have been created successful.", MsgBoxStyle.Information)
|
|
||||||
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.Type = "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.Type = "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.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.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.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.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"
|
|
||||||
' Keine zusätzliche Properties
|
|
||||||
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.Caption = r.Item("CTRLSCR_CAPTION")
|
|
||||||
props.BackColor = IntToColor(r.Item("CTRLSCR_BACK_COLOR"))
|
|
||||||
|
|
||||||
Case "Picturebox"
|
|
||||||
props.IsRequired = r.Item("CONTROL_REQUIRED")
|
|
||||||
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
|
|
||||||
|
|
||||||
Case "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.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.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"
|
|
||||||
props.Caption = r.Item("CTRLSCR_CAPTION")
|
|
||||||
|
|
||||||
Dim f = ClassFunctionCommands.LoadFunction(controlId)
|
|
||||||
|
|
||||||
Dim FormId = f.Item("INTEGER1")
|
|
||||||
props.FormID = NotNullInt(FormId, 0)
|
|
||||||
|
|
||||||
Dim ScreenId = f.Item("INTEGER2")
|
|
||||||
props.ScreenID = NotNullInt(ScreenId, 0)
|
|
||||||
|
|
||||||
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
|
|
||||||
@ -1,648 +0,0 @@
|
|||||||
Public Class frmTool_ControlProperties
|
|
||||||
Private Shared _Instance As frmTool_ControlProperties = Nothing
|
|
||||||
Private CurrentProperties As Object = Nothing
|
|
||||||
|
|
||||||
Public Shared Function Instance() As frmTool_ControlProperties
|
|
||||||
If _Instance Is Nothing OrElse _Instance.IsDisposed = True Then
|
|
||||||
_Instance = New frmTool_ControlProperties
|
|
||||||
End If
|
|
||||||
_Instance.BringToFront()
|
|
||||||
Return _Instance
|
|
||||||
End Function
|
|
||||||
|
|
||||||
Private Sub frmTool_ControlProperties_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
||||||
ClassWindowLocation.LoadFormLocationSize(Me, 1, CURRENT_SCREEN_ID, "frmTool_ControlProperties")
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub frmTool_ControlProperties_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
|
|
||||||
Try
|
|
||||||
ClassWindowLocation.SaveFormLocationSize(Me, 1, CURRENT_SCREEN_ID, "frmTool_ControlProperties")
|
|
||||||
My.Settings.Save()
|
|
||||||
Catch ex As Exception
|
|
||||||
MsgBox("Settings could not be saved.\n" & ex.ToString)
|
|
||||||
End Try
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Public Sub LoadControlPropertiesNeu(ctrl As Control)
|
|
||||||
Try
|
|
||||||
'TODO: LoadControlProperties Neuschreiben!!!
|
|
||||||
Dim sql As String = String.Format("SELECT * FROM VWPMO_CONTROL_SCREEN WHERE CONTROL_ID = {0}", DirectCast(ctrl.Tag, ClassControlMetadata).Id)
|
|
||||||
Dim dt As DataTable = ClassDatabase.Return_Datatable(sql)
|
|
||||||
Dim props As Object = Nothing
|
|
||||||
Dim r As DataRow = Nothing
|
|
||||||
Dim type As String = Nothing
|
|
||||||
|
|
||||||
If dt.Rows.Count <> 1 Then
|
|
||||||
Exit Sub
|
|
||||||
End If
|
|
||||||
|
|
||||||
r = dt.Rows(0)
|
|
||||||
type = r.Item("CTRLTYPE_NAME")
|
|
||||||
|
|
||||||
Select Case type
|
|
||||||
Case "Label"
|
|
||||||
props = New LabelProperties()
|
|
||||||
' Default Values
|
|
||||||
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.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 = New TextBoxProperties()
|
|
||||||
' Default Values
|
|
||||||
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.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(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 = New ComboBoxProperties()
|
|
||||||
' Default Values
|
|
||||||
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.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(r.Item("CONTROL_SHOW_COLUMN"), True)
|
|
||||||
props.SQLCommand = New SQLValue(NotNull(r.Item("CONTROL_SQLCOMMAND_1"), ""))
|
|
||||||
|
|
||||||
Case "Checkbox"
|
|
||||||
props = New CheckBoxProperties()
|
|
||||||
' Default Values
|
|
||||||
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.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(r.Item("CONTROL_SHOW_COLUMN"), True)
|
|
||||||
props.TabStop = r.Item("CTRLSCR_TAB_STOP")
|
|
||||||
props.TabIndex = r.Item("CTRLSCR_TAB_INDEX")
|
|
||||||
|
|
||||||
Case "RadioButton"
|
|
||||||
props = New RadioButtonProperties()
|
|
||||||
props.Caption = r.Item("CTRLSCR_CAPTION")
|
|
||||||
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.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 = New DateTimePickerProperties()
|
|
||||||
' Default Values
|
|
||||||
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.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 = NotNull(r.Item("CONTROL_DEF_VALUE"), EnumDateTimePickerDefaultValueOptions.Empty)
|
|
||||||
props.IsRequired = r.Item("CONTROL_REQUIRED")
|
|
||||||
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
|
|
||||||
props.ShowColumn = NotNull(r.Item("CONTROL_SHOW_COLUMN"), True)
|
|
||||||
props.TabStop = r.Item("CTRLSCR_TAB_STOP")
|
|
||||||
props.TabIndex = r.Item("CTRLSCR_TAB_INDEX")
|
|
||||||
|
|
||||||
Case "Datagridview"
|
|
||||||
props = New DataGridViewProperties()
|
|
||||||
' Default Values
|
|
||||||
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"))
|
|
||||||
|
|
||||||
Case "Groupbox"
|
|
||||||
props = New GroupBoxProperties()
|
|
||||||
' Default Values
|
|
||||||
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.Caption = r.Item("CTRLSCR_CAPTION")
|
|
||||||
props.BackColor = IntToColor(r.Item("CTRLSCR_BACK_COLOR"))
|
|
||||||
|
|
||||||
Case "Picturebox"
|
|
||||||
props = New PictureBoxProperties()
|
|
||||||
' Default Values
|
|
||||||
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.IsRequired = r.Item("CONTROL_REQUIRED")
|
|
||||||
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
|
|
||||||
|
|
||||||
Case "ListBox"
|
|
||||||
props = New ComboBoxProperties()
|
|
||||||
' Default Values
|
|
||||||
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.StaticList = ClassConverter.ToStringOrDefault(r.Item("CONTROL_STATIC_LIST"))
|
|
||||||
props.IsRequired = r.Item("CONTROL_REQUIRED")
|
|
||||||
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
|
|
||||||
|
|
||||||
Case "CheckedListBox"
|
|
||||||
props = New ComboBoxProperties()
|
|
||||||
' Default Values
|
|
||||||
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.StaticList = ClassConverter.ToStringOrDefault(r.Item("CONTROL_STATIC_LIST"))
|
|
||||||
props.IsRequired = r.Item("CONTROL_REQUIRED")
|
|
||||||
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
|
|
||||||
|
|
||||||
Case "F_AddAppointment"
|
|
||||||
props = New FunctionAddAppointment()
|
|
||||||
props.Caption() = r.Item("CTRLSCR_CAPTION")
|
|
||||||
|
|
||||||
Dim controlId = DirectCast(ctrl.Tag, ClassControlMetadata).Id
|
|
||||||
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 = GetName_for_ControlID(FromDateId, CURRENT_FORM_ID)
|
|
||||||
End If
|
|
||||||
|
|
||||||
ToDateId = f.Item("INTEGER2")
|
|
||||||
If IsDBNull(ToDateId) OrElse ToDateId = 0 Then
|
|
||||||
props.ToDate = ""
|
|
||||||
Else
|
|
||||||
props.ToDate = GetName_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"
|
|
||||||
props = New FunctionAddFormData()
|
|
||||||
props.Caption = r.Item("CTRLSCR_CAPTION")
|
|
||||||
|
|
||||||
Dim controlId = DirectCast(ctrl.Tag, ClassControlMetadata).Id
|
|
||||||
Dim f = ClassFunctionCommands.LoadFunction(controlId)
|
|
||||||
|
|
||||||
Dim FormId = f.Item("INTEGER1")
|
|
||||||
If IsDBNull(FormId) OrElse FormId = 0 Then
|
|
||||||
props.FormID = 0
|
|
||||||
Else
|
|
||||||
props.FormID = FormId
|
|
||||||
End If
|
|
||||||
|
|
||||||
Dim ScreenId = f.Item("INTEGER2")
|
|
||||||
If IsDBNull(ScreenId) OrElse ScreenId = 0 Then
|
|
||||||
props.ScreenID = 0
|
|
||||||
Else
|
|
||||||
props.ScreenID = ScreenId
|
|
||||||
End If
|
|
||||||
|
|
||||||
End Select
|
|
||||||
|
|
||||||
CURRENT_CONTROL_ID = r.Item("CONTROL_ID")
|
|
||||||
' Aktuelle Control Eigenschaften anzeigen
|
|
||||||
Me.pgControlProperties.SelectedObject = props
|
|
||||||
' Fenster Titel aktualisieren
|
|
||||||
Me.Text = String.Format("Eigenschaften von {0}({1})", type, props.ID.ToString())
|
|
||||||
' Control Name akutalisieren
|
|
||||||
Me.tslControlName.Text = r.Item("CONTROL_NAME")
|
|
||||||
|
|
||||||
Catch ex As Exception
|
|
||||||
MsgBox("Error in LoadControlProperties" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
|
||||||
End Try
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
' ADDED 25.11
|
|
||||||
' Lade Control Eigenschaften und zeige diese an
|
|
||||||
' Wird von frmLevelDesigner aufgerufen
|
|
||||||
Public Sub LoadControlProperties(ctrl As Control)
|
|
||||||
Try
|
|
||||||
Dim sql As String = "SELECT CTRLSCR_ID FROM VWPMO_CONTROL_SCREEN WHERE CONTROL_NAME = '" & ctrl.Name & "' AND FORM_ID = " & CURRENT_FORM_ID & " and SCREEN_ID = " & CURRENT_SCREEN_ID
|
|
||||||
Dim CTRLSCR_ID = ClassDatabase.Execute_Scalar(sql)
|
|
||||||
If CTRLSCR_ID > 0 Then
|
|
||||||
Dim DT As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM VWPMO_CONTROL_SCREEN WHERE CTRLSCR_ID = " & CTRLSCR_ID)
|
|
||||||
If DT.Rows.Count = 1 Then
|
|
||||||
Dim row As DataRow = DT.Rows(0)
|
|
||||||
Dim type As String = row.Item("CTRLTYPE_NAME")
|
|
||||||
Dim props As Object = Nothing
|
|
||||||
Dim fontcolor As Color
|
|
||||||
Dim fontfamily As String
|
|
||||||
Dim fontstyle As FontStyle
|
|
||||||
Dim fontsize As Single
|
|
||||||
Dim isreadonly As Boolean
|
|
||||||
Dim isrequired As Boolean
|
|
||||||
Dim columntitle As String
|
|
||||||
Dim DefaultValue As String
|
|
||||||
|
|
||||||
|
|
||||||
Select Case type
|
|
||||||
Case "Label"
|
|
||||||
props = New LabelProperties()
|
|
||||||
props.Caption = row.Item("CTRLSCR_CAPTION")
|
|
||||||
Case "Textbox"
|
|
||||||
props = New TextBoxProperties()
|
|
||||||
props.DefaultValue = ClassConverter.ToStringOrDefault(row.Item("CONTROL_DEF_VALUE"))
|
|
||||||
|
|
||||||
If Not IsDBNull(row.Item("CONTROL_FORMAT_TYPE")) Then
|
|
||||||
props.Format = DirectCast([Enum].Parse(GetType(EnumFormatOptions), row.Item("CONTROL_FORMAT_TYPE")), Integer)
|
|
||||||
Else
|
|
||||||
props.Format = "String"
|
|
||||||
End If
|
|
||||||
Case "Combobox"
|
|
||||||
props = New ComboBoxProperties()
|
|
||||||
props.MasterDataId = row.Item("CTRLSCR_MASTER_DATA_ID")
|
|
||||||
props.DefaultValue = ClassConverter.ToStringOrDefault(row.Item("CONTROL_DEF_VALUE"))
|
|
||||||
|
|
||||||
If Not IsDBNull(row.Item("CONTROL_FORMAT_TYPE")) Then
|
|
||||||
props.Format = DirectCast([Enum].Parse(GetType(EnumFormatOptions), row.Item("CONTROL_FORMAT_TYPE")), Integer)
|
|
||||||
Else
|
|
||||||
props.Format = "String"
|
|
||||||
End If
|
|
||||||
|
|
||||||
props.StaticList = ClassConverter.ToStringOrDefault(row.Item("CONTROL_STATIC_LIST"))
|
|
||||||
Case "Checkbox"
|
|
||||||
props = New CheckBoxProperties()
|
|
||||||
props.Caption = row.Item("CTRLSCR_CAPTION")
|
|
||||||
props.DefaultValue = ClassConverter.ToBooleanOrDefault(row.Item("CONTROL_DEF_VALUE"))
|
|
||||||
Case "Datepicker"
|
|
||||||
props = New DateTimePickerProperties()
|
|
||||||
props.DefaultValue = NotNull(row.Item("CONTROL_DEF_VALUE"), EnumDateTimePickerDefaultValueOptions.Empty)
|
|
||||||
'props.DefaultValue = ClassConverter.ToDateTimePickerOptionsOrDefault(row.Item("CONTROL_DEF_VALUE"))
|
|
||||||
Case "Datagridview"
|
|
||||||
props = New DataGridViewProperties()
|
|
||||||
Case "Groupbox"
|
|
||||||
props = New GroupBoxProperties()
|
|
||||||
props.Caption = row.Item("CTRLSCR_CAPTION")
|
|
||||||
props.BackColor = IntToColor(row.Item("CTRLSCR_BACK_COLOR"))
|
|
||||||
Case "Picturebox"
|
|
||||||
props = New PictureBoxProperties()
|
|
||||||
Case "RadioButton"
|
|
||||||
props = New RadioButtonProperties()
|
|
||||||
props.Caption = row.Item("CTRLSCR_CAPTION")
|
|
||||||
props.DefaultValue = ClassConverter.ToBooleanOrDefault(row.Item("CONTROL_DEF_VALUE"))
|
|
||||||
props.IsRequired = row.Item("CONTROL_REQUIRED")
|
|
||||||
Case "F_AddAppointment"
|
|
||||||
props = New FunctionAddAppointment()
|
|
||||||
Case "F_AddFormData"
|
|
||||||
props = New FunctionAddFormData()
|
|
||||||
Case "CheckedListBox"
|
|
||||||
props = New ComboBoxProperties()
|
|
||||||
props.StaticList = ClassConverter.ToStringOrDefault(row.Item("CONTROL_STATIC_LIST"))
|
|
||||||
Case "ListBox"
|
|
||||||
props = New ComboBoxProperties()
|
|
||||||
props.StaticList = ClassConverter.ToStringOrDefault(row.Item("CONTROL_STATIC_LIST"))
|
|
||||||
Case Else
|
|
||||||
MsgBox("Unknown control type " & type, MsgBoxStyle.Exclamation, "Error in LoadControlProperties:")
|
|
||||||
End Select
|
|
||||||
|
|
||||||
' Generic Properties
|
|
||||||
props.ID = row.Item("CONTROL_ID")
|
|
||||||
props.Name = row.Item("CONTROL_NAME")
|
|
||||||
props.Size = New Size(row.Item("CTRLSCR_WIDTH"), row.Item("CTRLSCR_HEIGHT"))
|
|
||||||
|
|
||||||
'TODO: calc location
|
|
||||||
'If row.Item("CONTROL_PARENT_ID") <> 0 Then
|
|
||||||
' Dim parentSQL = "SELECT CTRLSCR_X_LOC, CTRLSCR_Y_LOC FROM VWPMO_VALUES WHERE = CONTROL_ID = " & row.Item("CONTROL_PARENT_ID")
|
|
||||||
'End If
|
|
||||||
|
|
||||||
|
|
||||||
props.Location = New Point(row.Item("CTRLSCR_X_LOC"), row.Item("CTRLSCR_Y_LOC"))
|
|
||||||
|
|
||||||
Me.Text = "Eigenschaften Control-ID: " & props.ID
|
|
||||||
|
|
||||||
If type = "F_AddAppointment" Then
|
|
||||||
Dim ControlId = GetControlID_for_Name(ctrl.Name, CURRENT_FORM_ID)
|
|
||||||
Dim dr = ClassFunctionCommands.LoadFunction(ControlId)
|
|
||||||
|
|
||||||
Dim FromDateId, ToDateId, SubjectString, Subject2String, PlaceString, DescString
|
|
||||||
|
|
||||||
FromDateId = dr.Item("INTEGER1")
|
|
||||||
ToDateId = dr.Item("INTEGER2")
|
|
||||||
SubjectString = dr.Item("STRING1")
|
|
||||||
Subject2String = dr.Item("STRING2")
|
|
||||||
PlaceString = dr.Item("STRING3")
|
|
||||||
DescString = dr.Item("STRING4")
|
|
||||||
|
|
||||||
|
|
||||||
If IsDBNull(FromDateId) OrElse FromDateId = 0 Then
|
|
||||||
props.FromDate = ""
|
|
||||||
Else
|
|
||||||
props.FromDate = GetName_for_ControlID(FromDateId, CURRENT_FORM_ID)
|
|
||||||
End If
|
|
||||||
|
|
||||||
If IsDBNull(ToDateId) OrElse ToDateId = 0 Then
|
|
||||||
props.ToDate = ""
|
|
||||||
Else
|
|
||||||
props.ToDate = GetName_for_ControlID(ToDateId, CURRENT_FORM_ID)
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
If IsDBNull(SubjectString) OrElse String.IsNullOrEmpty(SubjectString) Then
|
|
||||||
props.Subject = ""
|
|
||||||
Else
|
|
||||||
props.Subject = SubjectString
|
|
||||||
End If
|
|
||||||
|
|
||||||
If IsDBNull(Subject2String) OrElse String.IsNullOrEmpty(Subject2String) Then
|
|
||||||
props.Subject2 = ""
|
|
||||||
Else
|
|
||||||
props.Subject2 = Subject2String
|
|
||||||
End If
|
|
||||||
|
|
||||||
If IsDBNull(PlaceString) OrElse String.IsNullOrEmpty(PlaceString) Then
|
|
||||||
props.Place = ""
|
|
||||||
Else
|
|
||||||
props.Place = PlaceString
|
|
||||||
End If
|
|
||||||
|
|
||||||
If IsDBNull(DescString) OrElse String.IsNullOrEmpty(DescString) Then
|
|
||||||
props.Description = ""
|
|
||||||
Else
|
|
||||||
props.Description = DescString
|
|
||||||
End If
|
|
||||||
|
|
||||||
props.Caption = row.Item("CTRLSCR_CAPTION")
|
|
||||||
ElseIf type = "F_AddFormData" Then
|
|
||||||
' TODO
|
|
||||||
Dim ControlId = GetControlID_for_Name(ctrl.Name, CURRENT_FORM_ID)
|
|
||||||
Dim dr = ClassFunctionCommands.LoadFunction(ControlId)
|
|
||||||
|
|
||||||
Dim FormId, ScreenId
|
|
||||||
|
|
||||||
FormId = dr.Item("INTEGER1")
|
|
||||||
ScreenId = dr.Item("INTEGER2")
|
|
||||||
|
|
||||||
If IsDBNull(FormId) OrElse FormId = 0 Then
|
|
||||||
props.FormID = 0
|
|
||||||
Else
|
|
||||||
props.FormID = FormId
|
|
||||||
End If
|
|
||||||
|
|
||||||
If IsDBNull(ScreenId) OrElse ScreenId = 0 Then
|
|
||||||
props.ScreenID = 0
|
|
||||||
Else
|
|
||||||
props.ScreenID = ScreenId
|
|
||||||
End If
|
|
||||||
|
|
||||||
props.Caption = row.Item("CTRLSCR_CAPTION")
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Control Properties
|
|
||||||
If Not type.Contains("F_") Then
|
|
||||||
' PreSave and Convert Properties
|
|
||||||
fontcolor = IntToColor(row.Item("CTRLSCR_FONT_COLOR"))
|
|
||||||
fontfamily = row.Item("CTRLSCR_FONT_FAMILY")
|
|
||||||
fontstyle = CType(row.Item("CTRLSCR_FONT_STYLE"), FontStyle)
|
|
||||||
fontsize = CType(row.Item("CTRLSCR_FONT_SIZE"), Single)
|
|
||||||
isreadonly = row.Item("CONTROL_READ_ONLY")
|
|
||||||
isrequired = row.Item("CONTROL_REQUIRED")
|
|
||||||
columntitle = row.Item("CONTROL_COL_NAME")
|
|
||||||
|
|
||||||
' Assign Properties to Class
|
|
||||||
props.FontColor = fontcolor
|
|
||||||
props.Font = New Font(fontfamily, fontsize, fontstyle)
|
|
||||||
props.ColumnTitle = columntitle
|
|
||||||
|
|
||||||
'ReadOnly
|
|
||||||
If type = "Textbox" Or type = "Datepicker" Or type = "Combobox" Or type = "Picturebox" Or type = "RadioButton" Or type = "Checkbox" Or type = "CheckedListBox" _
|
|
||||||
Or type = "ListBox" Then
|
|
||||||
props.IsReadOnly = row.Item("CONTROL_READ_ONLY")
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Nicht verfügbar für label
|
|
||||||
If type = "Textbox" Or type = "Combobox" Or type = "Datepicker" Or type = "Checkbox" Or type = "RadioButton" Or type = "CheckedListBox" _
|
|
||||||
Or type = "ListBox" Then
|
|
||||||
props.TabStop = row.Item("CTRLSCR_TAB_STOP")
|
|
||||||
props.TabIndex = row.Item("CTRLSCR_TAB_INDEX")
|
|
||||||
|
|
||||||
If Not IsDBNull(row.Item("CONTROL_SHOW_COLUMN")) Then
|
|
||||||
props.ShowColumn = row.Item("CONTROL_SHOW_COLUMN")
|
|
||||||
Else
|
|
||||||
props.ShowColumn = True
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
If type = "Textbox" Then
|
|
||||||
props.Multiline = row.Item("CONTROL_MULTILINE")
|
|
||||||
End If
|
|
||||||
|
|
||||||
If type = "Combobox" Or type = "CheckedListBox" Or type = "ListBox" Or type = "Textbox" Then
|
|
||||||
If row.Item("CONTROL_SQLCOMMAND_1").ToString.Length > 1 Then
|
|
||||||
Dim value As New SQLValue(row.Item("CONTROL_SQLCOMMAND_1").ToString)
|
|
||||||
props.SQLCommand = value
|
|
||||||
'props.SQLCommand = row.Item("CONTROL_SQLCOMMAND_1").ToString
|
|
||||||
End If
|
|
||||||
|
|
||||||
'props.ParentFormID = row.Item("PARENT_FORM_ID")
|
|
||||||
props.IsRequired = isrequired
|
|
||||||
props.IsReadOnly = isreadonly
|
|
||||||
End If
|
|
||||||
|
|
||||||
If type = "Label" Then
|
|
||||||
If row.Item("CONTROL_SQLCOMMAND_1").ToString.Length > 1 Then
|
|
||||||
Dim value As New SQLValue(row.Item("CONTROL_SQLCOMMAND_1").ToString)
|
|
||||||
props.SQLCommand = value
|
|
||||||
'props.SQLCommand = row.Item("CONTROL_SQLCOMMAND_1").ToString
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Globale Variable setzen
|
|
||||||
CURRENT_CONTROL_ID = row.Item("CONTROL_ID")
|
|
||||||
Me.pgControlProperties.SelectedObject = props
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
Catch ex As Exception
|
|
||||||
MsgBox("Error in loadcontrolproperties" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
|
||||||
End Try
|
|
||||||
|
|
||||||
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
' Aktualisiert die Position des akutellen Controls und speichert diese in der Klasse
|
|
||||||
Public Sub UpdateControlLocation(ctrl As Control)
|
|
||||||
CurrentProperties = Me.pgControlProperties.SelectedObject
|
|
||||||
|
|
||||||
If CurrentProperties IsNot Nothing Then
|
|
||||||
CurrentProperties.Location = ctrl.Location
|
|
||||||
Me.pgControlProperties.SelectedObject = CurrentProperties
|
|
||||||
End If
|
|
||||||
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Public Function SaveControlProperties(ctrl As Control, properties As Object) As Boolean
|
|
||||||
If ClassControlCommands.UpdateControl(ctrl, properties) Then
|
|
||||||
LoadControlProperties(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
|
|
||||||
' MsgBox("Änderungen gespeichert!", MsgBoxStyle.Information)
|
|
||||||
End If
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub pgControlProperties_PropertyValueChanged(s As Object, e As PropertyValueChangedEventArgs) Handles pgControlProperties.PropertyValueChanged
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.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 frmTool_ControlProperties_Shown(sender As Object, e As EventArgs) Handles Me.Shown
|
|
||||||
If Me.WindowState = FormWindowState.Maximized Then
|
|
||||||
Me.WindowState = FormWindowState.Normal
|
|
||||||
End If
|
|
||||||
End Sub
|
|
||||||
End Class
|
|
||||||
@ -1282,9 +1282,9 @@ Public Class frmConstructor_Main
|
|||||||
#Region "DetailView - Toolstrip"
|
#Region "DetailView - Toolstrip"
|
||||||
|
|
||||||
Private Sub tsButtonAdd_Click(sender As Object, e As EventArgs) Handles tsButtonAdd.Click
|
Private Sub tsButtonAdd_Click(sender As Object, e As EventArgs) Handles tsButtonAdd.Click
|
||||||
If CtrlCommandUI.IsInsert Then
|
'If CtrlCommandUI.IsInsert Then
|
||||||
Exit Sub
|
' Exit Sub
|
||||||
End If
|
'End If
|
||||||
Me.Cursor = Cursors.WaitCursor
|
Me.Cursor = Cursors.WaitCursor
|
||||||
Try
|
Try
|
||||||
If TCDetails.SelectedTabPage.Text.StartsWith("Pos") = False Then
|
If TCDetails.SelectedTabPage.Text.StartsWith("Pos") = False Then
|
||||||
@ -1295,14 +1295,23 @@ Public Class frmConstructor_Main
|
|||||||
tsButtonShowWorkflowTasks.Enabled = True
|
tsButtonShowWorkflowTasks.Enabled = True
|
||||||
CURRENT_PARENT_ID = PARENT_ID
|
CURRENT_PARENT_ID = PARENT_ID
|
||||||
ClassControlValues.LoadDefaultValues(ENTITY_ID, SELECTED_RECORD_ID, pnlDetails.Controls, CURRENT_PARENT_ID, ENTITY_ID)
|
ClassControlValues.LoadDefaultValues(ENTITY_ID, SELECTED_RECORD_ID, pnlDetails.Controls, CURRENT_PARENT_ID, ENTITY_ID)
|
||||||
dff()
|
' Den Record anlegen, damit wir eine RECORD_ID bekommen
|
||||||
|
ClassControlCommandsUI.CreateRecord(ENTITY_ID)
|
||||||
|
' Die RECORD_ID auslesen und setzen
|
||||||
|
Dim NewRecordId As Integer = ClassControlCommandsUI.GetLastRecord()
|
||||||
|
CURRENT_RECORD_ID = NewRecordId
|
||||||
|
RECORD_ID = NewRecordId
|
||||||
|
SELECTED_RECORD_ID = NewRecordId
|
||||||
|
' Das StatusLabel aktualisieren
|
||||||
|
Update_Record_Label(NewRecordId)
|
||||||
' Im gegensatz zu EnableEditMode muss hier nur der save button enabled werden
|
' Im gegensatz zu EnableEditMode muss hier nur der save button enabled werden
|
||||||
tsButtonSave.Enabled = True
|
tsButtonSave.Enabled = True
|
||||||
' Muss aktiviert werden, sonst funktionieren die Combobox Abhängigkeits Events nicht
|
' Muss aktiviert werden, sonst funktionieren die Combobox Abhängigkeits Events nicht
|
||||||
CURRENT_RECORD_ENABLED = True
|
CURRENT_RECORD_ENABLED = True
|
||||||
EDIT_STATE = EditState.Insert
|
' EDIT_STATE muss hier (immer?) Update sein, sonst wird beim Speichern noch ein Datensatz angelegt
|
||||||
|
EDIT_STATE = EditState.Update
|
||||||
RECORD_CHANGED = True
|
RECORD_CHANGED = True
|
||||||
tsslblRecord.Text = "Adding record ......"
|
'tsslblRecord.Text = "Adding record ......"
|
||||||
RIGHT_ONLY_READ = False
|
RIGHT_ONLY_READ = False
|
||||||
tslblLocked.Visible = False
|
tslblLocked.Visible = False
|
||||||
tslblFileslocked.Visible = False
|
tslblFileslocked.Visible = False
|
||||||
@ -1311,6 +1320,8 @@ Public Class frmConstructor_Main
|
|||||||
MsgBox("Unexpected Error in Insert: " & ex.Message)
|
MsgBox("Unexpected Error in Insert: " & ex.Message)
|
||||||
Finally
|
Finally
|
||||||
Me.Cursor = Cursors.Default
|
Me.Cursor = Cursors.Default
|
||||||
|
' IsInsert muss true sein, damit wir wissen ob wir bei
|
||||||
|
' Abbruch den Record Wieder löschen können
|
||||||
CtrlCommandUI.IsInsert = True
|
CtrlCommandUI.IsInsert = True
|
||||||
End Try
|
End Try
|
||||||
End Sub
|
End Sub
|
||||||
@ -2270,6 +2281,13 @@ Public Class frmConstructor_Main
|
|||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MsgBox("Error in Save Record Changes: " & vbNewLine & ex.Message, MsgBoxStyle.Exclamation)
|
MsgBox("Error in Save Record Changes: " & vbNewLine & ex.Message, MsgBoxStyle.Exclamation)
|
||||||
End Try
|
End Try
|
||||||
|
Else
|
||||||
|
' Wenn nicht gespeichert werden soll, den Record wieder löschen
|
||||||
|
If CtrlCommandUI.IsInsert = True Then
|
||||||
|
CtrlCommandUI.DeleteRecord(CURRENT_RECORD_ID)
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
CtrlCommandUI.IsInsert = False
|
CtrlCommandUI.IsInsert = False
|
||||||
RECORD_CHANGED = False
|
RECORD_CHANGED = False
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user