jj 16.03 hints

This commit is contained in:
JenneJ
2016-03-16 16:48:19 +01:00
parent 9b2a80d017
commit bb5f74b02c
15 changed files with 163 additions and 72 deletions

View File

@@ -10,8 +10,9 @@ Public Class ClassControlBuilder
Private _mouse_move_handler As MouseEventHandler Private _mouse_move_handler As MouseEventHandler
Private _mouse_click_handler As EventHandler Private _mouse_click_handler As EventHandler
Private _group_box_drag_drop_handler As DragEventHandler Private _group_box_drag_drop_handler As DragEventHandler
Private _tool_tip As ToolTip Private _tool_tip_handler As EventHandler
Private _onRecordChangedName As String = "OnRecordChanged" Private _onRecordChangedName As String = "OnRecordChanged"
Private _onMouseHoverName As String = "OnMouseHover"
Private _events As System.ComponentModel.EventHandlerList = Nothing Private _events As System.ComponentModel.EventHandlerList = Nothing
Protected ReadOnly Property Events() As System.ComponentModel.EventHandlerList Protected ReadOnly Property Events() As System.ComponentModel.EventHandlerList
@@ -38,6 +39,20 @@ Public Class ClassControlBuilder
End RaiseEvent End RaiseEvent
End Event End Event
Public Custom Event OnMouseHover As EventHandler
AddHandler(value As EventHandler)
Me.Events.AddHandler(_onMouseHoverName, value)
End AddHandler
RemoveHandler(value As EventHandler)
Me.Events.RemoveHandler(_onMouseHoverName, value)
End RemoveHandler
RaiseEvent(sender As Object, e As EventArgs)
CType(Me.Events(_onMouseHoverName), EventHandler).Invoke(sender, e)
End RaiseEvent
End Event
' ================================================================================== ' ==================================================================================
' Handler für alle Controls ' Handler für alle Controls
' ================================================================================== ' ==================================================================================
@@ -58,6 +73,15 @@ Public Class ClassControlBuilder
onRecordChangedHandler.Invoke(sender, e) onRecordChangedHandler.Invoke(sender, e)
End If End If
End Sub End Sub
Public Sub MouseHover(sender As Object, e As EventArgs)
Dim onMouseHoverHandler As EventHandler = CType(Me.Events(_onMouseHoverName), EventHandler)
If onMouseHoverHandler IsNot Nothing Then
onMouseHoverHandler.Invoke(sender, e)
End If
End Sub
Public Sub OnTextBoxFocus(sender As Object, ByVal e As EventArgs) Public Sub OnTextBoxFocus(sender As Object, ByVal e As EventArgs)
Dim box As TextBox = sender Dim box As TextBox = sender
box.BackColor = Color.LemonChiffon box.BackColor = Color.LemonChiffon
@@ -187,6 +211,9 @@ Public Class ClassControlBuilder
Dim type As String = control.GetType().Name Dim type As String = control.GetType().Name
Dim eventArgs As New System.EventArgs Dim eventArgs As New System.EventArgs
' Hover Handler gilt für alle Controls
AddHandler control.MouseHover, AddressOf MouseHover
Select Case type Select Case type
Case "TextBox" Case "TextBox"
Dim textbox As TextBox = CType(control, TextBox) Dim textbox As TextBox = CType(control, TextBox)
@@ -228,47 +255,6 @@ Public Class ClassControlBuilder
End Select End Select
End Sub End Sub
'Private Function GetAllItems(dgv As DataGridView) As List(Of String)
' Dim list As New List(Of String)
' For Each row As DataGridViewRow In dgv.Rows
' Dim cell As DataGridViewCell = row.Cells(0)
' If Not IsNothing(cell.Value) Then
' list.Add(cell.Value)
' End If
' Next
' Return list
'End Function
'Private Sub SaveAllItems(controlId As Integer, items As String)
' Try
' Dim SQL As String = String.Format("UPDATE TBPMO_CONTROL SET STATIC_LIST='{0}' WHERE GUID = {1}", items, controlId)
' ClassDatabase.Execute_non_Query(SQL)
' Catch ex As Exception
' MsgBox("Error in SaveAllItems:" & vbNewLine & ex.Message)
' End Try
'End Sub
'Private Sub UserDeletingRow(ByVal sender As Object, ByVal e As DataGridViewRowCancelEventArgs)
' Dim dgv As DataGridView = DirectCast(sender, DataGridView)
' Dim id As Integer = DirectCast(dgv.Tag, ClassControlMetadata).Id
' Dim list As List(Of String) = GetAllItems(dgv)
' list.RemoveAt(e.Row.Index)
' Dim items As String = String.Join(";", list.ToArray())
' SaveAllItems(id, items)
'End Sub
'Private Sub CellEndEdit(ByVal sender As Object, e As DataGridViewCellEventArgs)
' Dim dgv As DataGridView = DirectCast(sender, DataGridView)
' Dim id As Integer = DirectCast(dgv.Tag, ClassControlMetadata).Id
' Dim list As List(Of String) = GetAllItems(dgv)
' Dim items As String = String.Join(";", list.ToArray())
' SaveAllItems(id, items)
'End Sub
Private Sub SetDragDropHandler(groupbox As GroupBox) Private Sub SetDragDropHandler(groupbox As GroupBox)
If Not IsNothing(_group_box_drag_drop_handler) Then If Not IsNothing(_group_box_drag_drop_handler) Then
AddHandler groupbox.DragDrop, Me._group_box_drag_drop_handler AddHandler groupbox.DragDrop, Me._group_box_drag_drop_handler
@@ -378,8 +364,7 @@ Public Class ClassControlBuilder
MouseUpHandler As MouseEventHandler, MouseUpHandler As MouseEventHandler,
MouseMoveHandler As MouseEventHandler, MouseMoveHandler As MouseEventHandler,
MouseClickHandler As EventHandler, MouseClickHandler As EventHandler,
GroupBoxDragDropHandler As DragEventHandler, GroupBoxDragDropHandler As DragEventHandler)
ToolTipControl As ToolTip)
Me._master_panel = MasterPanel Me._master_panel = MasterPanel
Me._mouse_down_handler = MouseDownHandler Me._mouse_down_handler = MouseDownHandler
@@ -387,14 +372,10 @@ Public Class ClassControlBuilder
Me._mouse_move_handler = MouseMoveHandler Me._mouse_move_handler = MouseMoveHandler
Me._mouse_click_handler = MouseClickHandler Me._mouse_click_handler = MouseClickHandler
Me._group_box_drag_drop_handler = GroupBoxDragDropHandler Me._group_box_drag_drop_handler = GroupBoxDragDropHandler
Me._tool_tip = ToolTipControl
End Sub End Sub
Public Sub New(MasterPanel As Panel, Public Sub New(MasterPanel As Panel)
ToolTipControl As ToolTip)
Me._master_panel = MasterPanel Me._master_panel = MasterPanel
Me._tool_tip = ToolTipControl
End Sub End Sub
' +++ Public Properties +++ ' +++ Public Properties +++
@@ -1399,8 +1380,6 @@ Public Class ClassControlBuilder
control.TabStop = False control.TabStop = False
control.Image = My.Resources.add1 control.Image = My.Resources.add1
_tool_tip.SetToolTip(control, text)
If _new And IsNothing(parent) Then If _new And IsNothing(parent) Then
control.Location = Me.GetCursorPosition() control.Location = Me.GetCursorPosition()
control.Size = defaultSize control.Size = defaultSize

View File

@@ -314,6 +314,7 @@
Dim FONT_SIZE As Integer Dim FONT_SIZE As Integer
Dim FONT_STYLE As Integer Dim FONT_STYLE As Integer
Dim BACK_COLOR As Integer Dim BACK_COLOR As Integer
Dim HINT As String = properties.Hint
X_LOC = properties.Location.X X_LOC = properties.Location.X
Y_LOC = properties.Location.Y Y_LOC = properties.Location.Y
@@ -366,8 +367,9 @@
SQL = "UPDATE TBPMO_CONTROL_SCREEN SET TAB_INDEX = " & TAB_INDEX & ", TAB_STOP = " & TAB_STOP & ", X_LOC = " & X_LOC & ", Y_LOC = " & Y_LOC & ", HEIGHT = " & HEIGHT & ", WIDTH = " & WIDTH & ", CONTROL_TEXT = '" & CONTROL_TEXT & "', CHANGED_WHO = '" & CHANGED_WHO & "', FONT_COLOR = " & FONT_COLOR & ", FONT_SIZE = " & FONT_SIZE & ", FONT_STYLE = " & FONT_STYLE & ", FONT_FAMILY = '" & FONT_FAMILY & "' , BACK_COLOR = " & BACK_COLOR & " WHERE CONTROL_ID = " & CURRENT_CONTROL_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID SQL = "UPDATE TBPMO_CONTROL_SCREEN SET TAB_INDEX = " & TAB_INDEX & ", TAB_STOP = " & TAB_STOP & ", X_LOC = " & X_LOC & ", Y_LOC = " & Y_LOC & ", HEIGHT = " & HEIGHT & ", WIDTH = " & WIDTH & ", CONTROL_TEXT = '" & CONTROL_TEXT & "', CHANGED_WHO = '" & CHANGED_WHO & "', FONT_COLOR = " & FONT_COLOR & ", FONT_SIZE = " & FONT_SIZE & ", FONT_STYLE = " & FONT_STYLE & ", FONT_FAMILY = '" & FONT_FAMILY & "' , BACK_COLOR = " & BACK_COLOR & " WHERE CONTROL_ID = " & CURRENT_CONTROL_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID
If ClassDatabase.Execute_non_Query(SQL) = True Then If ClassDatabase.Execute_non_Query(SQL) = True Then
Dim upd = String.Format("UPDATE TBPMO_CONTROL_LANGUAGE SET CAPTION = '{0}' WHERE LANGUAGE_TYPE = '{1}' AND " & _ Dim upd = String.Format("UPDATE TBPMO_CONTROL_LANGUAGE SET CAPTION = '{0}', HINT = '{1}' WHERE LANGUAGE_TYPE = '{2}' AND " & _
"CONTROL_SCREEN_ID = (SELECT GUID FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = " & CURRENT_CONTROL_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID & " AND LANGUAGE_TYPE = '" & USER_LANGUAGE & "')", CONTROL_TEXT, USER_LANGUAGE) "CONTROL_SCREEN_ID = (SELECT GUID FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = " & _
CURRENT_CONTROL_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID & ")", CONTROL_TEXT, HINT, USER_LANGUAGE)
ClassDatabase.Execute_non_Query(upd, True) ClassDatabase.Execute_non_Query(upd, True)
If CurrentType.Contains("Button") Then If CurrentType.Contains("Button") Then
'If control.Tag = "ADDAPPOINTMENT" Then 'If control.Tag = "ADDAPPOINTMENT" Then
@@ -432,6 +434,12 @@
ClassFunctionCommands.UpdateAddFormDataFunction(ControlId, FormID, ScreenID) ClassFunctionCommands.UpdateAddFormDataFunction(ControlId, FormID, ScreenID)
End If End If
End If End If
Return True Return True
Else Else
Throw New Exception() Throw New Exception()
@@ -523,7 +531,7 @@
Else Else
Throw New Exception() Throw New Exception()
End If End If
Catch ex As Exception Catch ex As Exception
ClassLogger.Add("Unexpected Error in DeleteControlScreen: " & ex.Message, True) ClassLogger.Add("Unexpected Error in DeleteControlScreen: " & ex.Message, True)
MsgBox("Unexpected Error in DeleteControlScreen:" + vbNewLine + ex.Message, MsgBoxStyle.Critical) MsgBox("Unexpected Error in DeleteControlScreen:" + vbNewLine + ex.Message, MsgBoxStyle.Critical)

View File

@@ -37,6 +37,18 @@ Module ClassControlProperties
Private _size As Size Private _size As Size
Private _location As Point Private _location As Point
Private _name As String Private _name As String
Private _hint As String
<LocalizedCategoryAttribute("category_view")>
<LocalizedDescriptionAttribute("desc_hint")>
Public Property Hint() As String
Get
Return _hint
End Get
Set(value As String)
_hint = value
End Set
End Property
<LocalizedCategoryAttribute("category_id")> <LocalizedCategoryAttribute("category_id")>
<LocalizedDescriptionAttribute("desc_id")> <LocalizedDescriptionAttribute("desc_id")>

View File

@@ -28,4 +28,18 @@
Cache.Clear() Cache.Clear()
End Sub End Sub
' =========================================================================================
Private Shared Property HintCache As New Dictionary(Of Integer, String)
Public Shared Function LoadHint(controlId As Integer) As String
If HintCache.ContainsKey(controlId) Then
Return HintCache.Item(controlId)
Else
Return Nothing
End If
End Function
Public Shared Sub SaveHint(controlId As Integer, hint As String)
HintCache.Item(controlId) = hint
End Sub
End Class End Class

View File

@@ -155,6 +155,9 @@ Public Class ClassControlValues
' Zuerst alle Controls leeren ' Zuerst alle Controls leeren
ClearControlValues(controls) ClearControlValues(controls)
' Load all Hints for controls
LoadControlHints(controls)
For Each control As Control In controls For Each control As Control In controls
Dim ControlId As Integer = DirectCast(control.Tag, ClassControlMetadata).Id Dim ControlId As Integer = DirectCast(control.Tag, ClassControlMetadata).Id
@@ -178,6 +181,23 @@ Public Class ClassControlValues
End Sub End Sub
Private Shared Sub LoadControlHints(controls As Control.ControlCollection)
For Each c As Control In controls
Dim id As Integer = DirectCast(c.Tag, ClassControlMetadata).Id
Dim sql As String = 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 = '{1}' AND HINT IS NOT NULL", id, USER_LANGUAGE)
Dim hint = ClassDatabase.Execute_Scalar(sql)
If IsNothing(hint) Then
Continue For
End If
ClassControlValueCache.SaveHint(id, hint.ToString)
Next
End Sub
Private Shared Sub LoadControlValue(recordId As Integer, parentRecordId As Integer, controlId As Integer, control As Control, values As List(Of Object)) Private Shared Sub LoadControlValue(recordId As Integer, parentRecordId As Integer, controlId As Integer, control As Control, values As List(Of Object))
Try Try
' Für die meisten Controls wird nur das erste Element der Liste benötigt ' Für die meisten Controls wird nur das erste Element der Liste benötigt
@@ -187,6 +207,8 @@ Public Class ClassControlValues
value = values.Item(0) value = values.Item(0)
End If End If
Select Case control.GetType() Select Case control.GetType()
Case GetType(TextBox) Case GetType(TextBox)
If LogErrorsOnly = False Then ClassLogger.Add(">> Sub LoadControlValueNeu - GetType(TextBox) ", False) If LogErrorsOnly = False Then ClassLogger.Add(">> Sub LoadControlValueNeu - GetType(TextBox) ", False)

View File

@@ -235,6 +235,15 @@ Namespace My.Resources
End Get End Get
End Property End Property
'''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die Der Text, der beim überfahren des Controls angezeigt wird ähnelt.
'''</summary>
Friend Shared ReadOnly Property desc_hint() As String
Get
Return ResourceManager.GetString("desc_hint", resourceCulture)
End Get
End Property
'''<summary> '''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die Gibt die eindeutige ID des Elements an. ähnelt. ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die eindeutige ID des Elements an. ähnelt.
'''</summary> '''</summary>

View File

@@ -174,6 +174,9 @@
<data name="desc_fromdate" xml:space="preserve"> <data name="desc_fromdate" xml:space="preserve">
<value>The appointment's start-date. Dynamic values from other controls can be inserted with the syntax [%controlname].</value> <value>The appointment's start-date. Dynamic values from other controls can be inserted with the syntax [%controlname].</value>
</data> </data>
<data name="desc_hint" xml:space="preserve">
<value>The text that will be shown when the control is hovered over</value>
</data>
<data name="desc_id" xml:space="preserve"> <data name="desc_id" xml:space="preserve">
<value>The element's unique identifier.</value> <value>The element's unique identifier.</value>
</data> </data>

View File

@@ -174,6 +174,9 @@
<data name="desc_fromdate" xml:space="preserve"> <data name="desc_fromdate" xml:space="preserve">
<value>Der Name eines Elements von dem das End-Datum gelesen wird.</value> <value>Der Name eines Elements von dem das End-Datum gelesen wird.</value>
</data> </data>
<data name="desc_hint" xml:space="preserve">
<value>Der Text, der beim überfahren des Controls angezeigt wird</value>
</data>
<data name="desc_id" xml:space="preserve"> <data name="desc_id" xml:space="preserve">
<value>Gibt die eindeutige ID des Elements an.</value> <value>Gibt die eindeutige ID des Elements an.</value>
</data> </data>

View File

@@ -136,6 +136,7 @@ Partial Class frmConstructor_Main
Me.VWPMO_WF_ACTIVEBindingSource = New System.Windows.Forms.BindingSource(Me.components) Me.VWPMO_WF_ACTIVEBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.VWPMO_WF_ACTIVETableAdapter = New DD_Record_Organiser.DD_DMSDataSetTableAdapters.VWPMO_WF_ACTIVETableAdapter() Me.VWPMO_WF_ACTIVETableAdapter = New DD_Record_Organiser.DD_DMSDataSetTableAdapters.VWPMO_WF_ACTIVETableAdapter()
Me.TBPMO_FILES_USERBindingSource = New System.Windows.Forms.BindingSource(Me.components) Me.TBPMO_FILES_USERBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.ToolTipController = New DevExpress.Utils.ToolTipController(Me.components)
CType(Me.SplitContainerMain, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.SplitContainerMain, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerMain.SuspendLayout() Me.SplitContainerMain.SuspendLayout()
CType(Me.SplitContainerTop, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.SplitContainerTop, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -1009,11 +1010,8 @@ Partial Class frmConstructor_Main
Friend WithEvents NavPane As DevExpress.XtraBars.Navigation.TileNavPane Friend WithEvents NavPane As DevExpress.XtraBars.Navigation.TileNavPane
Friend WithEvents NavButtonHome As DevExpress.XtraBars.Navigation.NavButton Friend WithEvents NavButtonHome As DevExpress.XtraBars.Navigation.NavButton
Friend WithEvents StatusStrip_Main As System.Windows.Forms.StatusStrip Friend WithEvents StatusStrip_Main As System.Windows.Forms.StatusStrip
Friend WithEvents SplitContainerMain As DevExpress.XtraEditors.SplitContainerControl
Friend WithEvents SplitContainerTop As DevExpress.XtraEditors.SplitContainerControl
Friend WithEvents TreeViewMain As System.Windows.Forms.TreeView Friend WithEvents TreeViewMain As System.Windows.Forms.TreeView
Friend WithEvents GridControlMain As DevExpress.XtraGrid.GridControl Friend WithEvents GridControlMain As DevExpress.XtraGrid.GridControl
Friend WithEvents SplitContainerBottom As DevExpress.XtraEditors.SplitContainerControl
Friend WithEvents grvwTiles As DevExpress.XtraGrid.Views.Tile.TileView Friend WithEvents grvwTiles As DevExpress.XtraGrid.Views.Tile.TileView
Friend WithEvents grvwGrid As DevExpress.XtraGrid.Views.Grid.GridView Friend WithEvents grvwGrid As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents tsslblStatus As System.Windows.Forms.ToolStripStatusLabel Friend WithEvents tsslblStatus As System.Windows.Forms.ToolStripStatusLabel
@@ -1034,7 +1032,6 @@ Partial Class frmConstructor_Main
Friend WithEvents ButtonSetViewAsDefault As System.Windows.Forms.ToolStripMenuItem Friend WithEvents ButtonSetViewAsDefault As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents ToolStripSeparator2 As System.Windows.Forms.ToolStripSeparator Friend WithEvents ToolStripSeparator2 As System.Windows.Forms.ToolStripSeparator
Friend WithEvents grvwCarousel As DevExpress.XtraGrid.Views.Layout.LayoutView Friend WithEvents grvwCarousel As DevExpress.XtraGrid.Views.Layout.LayoutView
Friend WithEvents ImageCollection1 As DevExpress.Utils.ImageCollection
Friend WithEvents ToolStripEdit As System.Windows.Forms.ToolStrip Friend WithEvents ToolStripEdit As System.Windows.Forms.ToolStrip
Friend WithEvents tsButtonAdd As System.Windows.Forms.ToolStripButton Friend WithEvents tsButtonAdd As System.Windows.Forms.ToolStripButton
Friend WithEvents tsButtonSave As System.Windows.Forms.ToolStripButton Friend WithEvents tsButtonSave As System.Windows.Forms.ToolStripButton
@@ -1115,4 +1112,9 @@ Partial Class frmConstructor_Main
Friend WithEvents ToolStripSeparator4 As System.Windows.Forms.ToolStripSeparator Friend WithEvents ToolStripSeparator4 As System.Windows.Forms.ToolStripSeparator
Friend WithEvents ToolStripSeparator5 As System.Windows.Forms.ToolStripSeparator Friend WithEvents ToolStripSeparator5 As System.Windows.Forms.ToolStripSeparator
Friend WithEvents AnwendungscacheFreigebenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem Friend WithEvents AnwendungscacheFreigebenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents SplitContainerMain As DevExpress.XtraEditors.SplitContainerControl
Friend WithEvents SplitContainerTop As DevExpress.XtraEditors.SplitContainerControl
Friend WithEvents SplitContainerBottom As DevExpress.XtraEditors.SplitContainerControl
Friend WithEvents ImageCollection1 As DevExpress.Utils.ImageCollection
Friend WithEvents ToolTipController As DevExpress.Utils.ToolTipController
End Class End Class

View File

@@ -132,7 +132,7 @@
<value>0, 0</value> <value>0, 0</value>
</data> </data>
<metadata name="CMSEntity.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="CMSEntity.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 93</value> <value>1693, 54</value>
</metadata> </metadata>
<data name="ResetEbenenAuswahlToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <data name="ResetEbenenAuswahlToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>194, 22</value> <value>194, 22</value>
@@ -1002,7 +1002,7 @@
<value>0</value> <value>0</value>
</data> </data>
<metadata name="BindingNavigatorPOS.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="BindingNavigatorPOS.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>124, 93</value> <value>17, 93</value>
</metadata> </metadata>
<data name="BindingNavigatorAddNewItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BindingNavigatorAddNewItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
@@ -1674,11 +1674,14 @@
<metadata name="TBPMO_FILES_USERBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="TBPMO_FILES_USERBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1222, 54</value> <value>1222, 54</value>
</metadata> </metadata>
<metadata name="ToolTipController.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1465, 15</value>
</metadata>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>150</value> <value>104</value>
</metadata> </metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing"> <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value> <value>6, 13</value>
@@ -2567,6 +2570,12 @@
<data name="&gt;&gt;TBPMO_FILES_USERBindingSource.Type" xml:space="preserve"> <data name="&gt;&gt;TBPMO_FILES_USERBindingSource.Type" xml:space="preserve">
<value>System.Windows.Forms.BindingSource, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.BindingSource, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
<data name="&gt;&gt;ToolTipController.Name" xml:space="preserve">
<value>ToolTipController</value>
</data>
<data name="&gt;&gt;ToolTipController.Type" xml:space="preserve">
<value>DevExpress.Utils.ToolTipController, DevExpress.Utils.v15.1, Version=15.1.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve"> <data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>frmConstructor_Main</value> <value>frmConstructor_Main</value>
</data> </data>

View File

@@ -971,7 +971,7 @@ Public Class frmConstructor_Main
FORMVIEW_ID = frmview_id FORMVIEW_ID = frmview_id
ENTITY_ID = ClassDatabase.Execute_Scalar("SELECT FORM_ID FROM TBPMO_FORM_VIEW WHERE GUID = " & frmview_id) ENTITY_ID = ClassDatabase.Execute_Scalar("SELECT FORM_ID FROM TBPMO_FORM_VIEW WHERE GUID = " & frmview_id)
CtrlBuilder = New ClassControlBuilder(pnlDetails, ttToolTip) CtrlBuilder = New ClassControlBuilder(pnlDetails)
'LoadControls(thisFormId) 'LoadControls(thisFormId)
CtrlCommandUI = New ClassControlCommandsUI(CtrlBuilder, CtrlCommandUI = New ClassControlCommandsUI(CtrlBuilder,
ContextMenuDetails, ContextMenuDetails,
@@ -982,6 +982,22 @@ Public Class frmConstructor_Main
' pnlDetails.Enabled = False ' pnlDetails.Enabled = False
AddHandler CtrlBuilder.OnRecordChanged, AddressOf OnRecordChanged AddHandler CtrlBuilder.OnRecordChanged, AddressOf OnRecordChanged
AddHandler CtrlBuilder.OnMouseHover, AddressOf HandleToolTip
End Sub
Private Sub HandleToolTip(sender As Object, e As EventArgs)
Dim control As Control = DirectCast(sender, Control)
Dim id As Integer = DirectCast(control.Tag, ClassControlMetadata).Id
Dim hint = ClassControlValueCache.LoadHint(id)
If Not IsNothing(hint) Then
'show hint
Console.WriteLine("Showing hint: " & hint)
ToolTipController.ShowHint(hint.ToString, ToolTipLocation.RightCenter)
Else
ToolTipController.HideHint()
End If
End Sub End Sub
Private Sub OnRecordChanged(sender As Object, e As System.EventArgs) Private Sub OnRecordChanged(sender As Object, e As System.EventArgs)

View File

@@ -66,7 +66,7 @@ Public Class frmFormInput
thisformid = CURRENT_FORM_ID thisformid = CURRENT_FORM_ID
Me.VWPMO_CONTROL_SCREENTableAdapter.Fill(Me.DD_DMSDataSet.VWPMO_CONTROL_SCREEN, thisformid) Me.VWPMO_CONTROL_SCREENTableAdapter.Fill(Me.DD_DMSDataSet.VWPMO_CONTROL_SCREEN, thisformid)
CtrlBuilder = New ClassControlBuilder(pnlView, ttTooltip) CtrlBuilder = New ClassControlBuilder(pnlView)
CtrlCommandUI = New ClassControlCommandsUI(CtrlBuilder, CtrlCommandUI = New ClassControlCommandsUI(CtrlBuilder,
ContextMenuStrip1, ContextMenuStrip1,
AddressOf NewEditAppointment, AddressOf NewEditAppointment,
@@ -86,6 +86,10 @@ Public Class frmFormInput
End Try End Try
End Sub End Sub
Private Sub HandleToolTip(sender As Object, e As EventArgs)
Console.WriteLine("show tooltip")
End Sub
#End Region #End Region
#Region "+++++ Layout +++++" #Region "+++++ Layout +++++"

View File

@@ -247,8 +247,7 @@
AddressOf Control_MouseUp, AddressOf Control_MouseUp,
AddressOf Control_MouseMove, AddressOf Control_MouseMove,
AddressOf Control_Click, AddressOf Control_Click,
AddressOf Groupbox_DragDrop, AddressOf Groupbox_DragDrop)
ttTooltip)
If ClassDatabase.Init = True Then If ClassDatabase.Init = True Then
LoadFormProperties() LoadFormProperties()
@@ -256,6 +255,10 @@
End If End If
End Sub End Sub
Private Sub HandleToolTip(sender As Object, e As EventArgs)
Console.WriteLine("show tooltip")
End Sub
#End Region #End Region
#Region "+++++ Load Funktionen +++++" #Region "+++++ Load Funktionen +++++"

View File

@@ -69,8 +69,7 @@ Public Class frmQuickEdit
AddressOf Control_MouseUp, AddressOf Control_MouseUp,
AddressOf Control_MouseMove, AddressOf Control_MouseMove,
AddressOf Control_Click, AddressOf Control_Click,
AddressOf Groupbox_DragDrop, AddressOf Groupbox_DragDrop)
ttTooltip)
CtrlCommandUI = New ClassControlCommandsUI(CtrlBuilder, CtrlCommandUI = New ClassControlCommandsUI(CtrlBuilder,
ContextMenuStrip1, ContextMenuStrip1,
@@ -95,6 +94,10 @@ Public Class frmQuickEdit
End Sub End Sub
Private Sub HandleToolTip(sender As Object, e As EventArgs)
Console.WriteLine("show tooltip")
End Sub
#End Region #End Region
#Region "+++++ Layout +++++" #Region "+++++ Layout +++++"

View File

@@ -25,16 +25,21 @@
Public Sub LoadControlPropertiesNeu(ctrl As Control) Public Sub LoadControlPropertiesNeu(ctrl As Control)
Try Try
Dim TagID = DirectCast(ctrl.Tag, ClassControlMetadata).Id
Dim sql As String = String.Format("SELECT * FROM VWPMO_CONTROL_SCREEN WHERE CONTROL_ID = {0}", DirectCast(ctrl.Tag, ClassControlMetadata).Id) 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 dt As DataTable = ClassDatabase.Return_Datatable(sql)
Dim hint As String = ClassConverter.ToStringOrDefault(ClassDatabase.Execute_Scalar(sqlHint), Nothing)
Dim props As Object = Nothing Dim props As Object = Nothing
Dim r As DataRow = Nothing Dim r As DataRow = Nothing
Dim type As String = Nothing Dim type As String = Nothing
If dt.Rows.Count <> 1 Then If dt.Rows.Count <> 1 Then
MsgBox("Unexpected behaviour in LoadControlProperties: No Control could be loaded!" & vbNewLine & "Tag.ControlID: " & TagID.ToString, MsgBoxStyle.Exclamation) MsgBox("Unexpected behaviour in LoadControlProperties: No Control could be loaded!" & vbNewLine & "Tag.ControlID: " & ControlId.ToString, MsgBoxStyle.Exclamation)
Exit Sub Exit Sub
End If End If
@@ -63,6 +68,7 @@
props.Name = r.Item("CONTROL_NAME") props.Name = r.Item("CONTROL_NAME")
props.Size = New Size(r.Item("CTRLSCR_WIDTH"), r.Item("CTRLSCR_HEIGHT")) 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.Location = New Point(r.Item("CTRLSCR_X_LOC"), r.Item("CTRLSCR_Y_LOC"))
props.Hint = hint
'Control-spezifische Properties laden 'Control-spezifische Properties laden
Select Case type Select Case type
@@ -191,7 +197,6 @@
Case "F_AddAppointment" Case "F_AddAppointment"
props.Caption() = r.Item("CTRLSCR_CAPTION") props.Caption() = r.Item("CTRLSCR_CAPTION")
Dim controlId = DirectCast(ctrl.Tag, ClassControlMetadata).Id
Dim f = ClassFunctionCommands.LoadFunction(controlId) Dim f = ClassFunctionCommands.LoadFunction(controlId)
Dim FromDateId, ToDateId, SubjectString, Subject2String, PlaceString, DescString Dim FromDateId, ToDateId, SubjectString, Subject2String, PlaceString, DescString
@@ -241,7 +246,6 @@
Case "F_AddFormData" Case "F_AddFormData"
props.Caption = r.Item("CTRLSCR_CAPTION") props.Caption = r.Item("CTRLSCR_CAPTION")
Dim controlId = DirectCast(ctrl.Tag, ClassControlMetadata).Id
Dim f = ClassFunctionCommands.LoadFunction(controlId) Dim f = ClassFunctionCommands.LoadFunction(controlId)
Dim FormId = f.Item("INTEGER1") Dim FormId = f.Item("INTEGER1")