This commit is contained in:
Jonathan Jenne 2020-06-29 13:58:55 +02:00
parent 9ad959ef20
commit be2f505bde
2 changed files with 269 additions and 157 deletions

View File

@ -29,32 +29,33 @@ Partial Class ChatControl
Dim TileViewItemElement1 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement()
Dim TileViewItemElement2 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement()
Dim TileViewItemElement3 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement()
Dim TileViewItemElement4 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement()
Dim TableRowDefinition1 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim TableRowDefinition2 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim TableRowDefinition3 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim TableSpan1 As DevExpress.XtraEditors.TableLayout.TableSpan = New DevExpress.XtraEditors.TableLayout.TableSpan()
Dim ItemTemplate2 As DevExpress.XtraGrid.Views.Tile.ItemTemplate = New DevExpress.XtraGrid.Views.Tile.ItemTemplate()
Dim TableColumnDefinition3 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition()
Dim TableColumnDefinition4 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition()
Dim TileViewItemElement4 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement()
Dim TileViewItemElement5 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement()
Dim TileViewItemElement6 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement()
Dim TileViewItemElement7 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement()
Dim TableRowDefinition3 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim TableRowDefinition4 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim TableRowDefinition5 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim ItemTemplate3 As DevExpress.XtraGrid.Views.Tile.ItemTemplate = New DevExpress.XtraGrid.Views.Tile.ItemTemplate()
Dim TableColumnDefinition5 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition()
Dim TableColumnDefinition6 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition()
Dim TileViewItemElement7 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement()
Dim TileViewItemElement8 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement()
Dim TileViewItemElement9 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement()
Dim TileViewItemElement10 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement()
Dim TileViewItemElement11 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement()
Dim TableRowDefinition5 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim TableRowDefinition6 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim TableRowDefinition7 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim TableRowDefinition8 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim TableSpan2 As DevExpress.XtraEditors.TableLayout.TableSpan = New DevExpress.XtraEditors.TableLayout.TableSpan()
Dim TableSpan3 As DevExpress.XtraEditors.TableLayout.TableSpan = New DevExpress.XtraEditors.TableLayout.TableSpan()
Dim TableColumnDefinition7 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition()
Dim TableColumnDefinition8 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition()
Dim TableRowDefinition8 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim TableRowDefinition9 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim TableRowDefinition10 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(ChatControl))
Me.columnUsername = New DevExpress.XtraGrid.Columns.TileViewColumn()
Me.columnMessage = New DevExpress.XtraGrid.Columns.TileViewColumn()
@ -62,8 +63,8 @@ Partial Class ChatControl
Me.columnTO_USER = New DevExpress.XtraGrid.Columns.TileViewColumn()
Me.RepositoryItemHypertextLabel1 = New DevExpress.XtraEditors.Repository.RepositoryItemHypertextLabel()
Me.RepositoryItemHyperLinkEdit1 = New DevExpress.XtraEditors.Repository.RepositoryItemHyperLinkEdit()
Me.GridChat = New DevExpress.XtraGrid.GridControl()
Me.ChatView = New DevExpress.XtraGrid.Views.Tile.TileView()
Me.GridChatOld = New DevExpress.XtraGrid.GridControl()
Me.ChatViewOld = New DevExpress.XtraGrid.Views.Tile.TileView()
Me.btnSendMessage = New DevExpress.XtraEditors.SimpleButton()
Me.ChatSource = New System.Windows.Forms.BindingSource(Me.components)
Me.pnlMessage = New System.Windows.Forms.Panel()
@ -75,13 +76,20 @@ Partial Class ChatControl
Me.ToolStripMenuItemConv_end = New System.Windows.Forms.ToolStripMenuItem()
Me.BenutzerHinzufügenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.TeilnehmerToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.GridChat = New DevExpress.XtraGrid.GridControl()
Me.ChatView = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.columnFromUser = New DevExpress.XtraGrid.Columns.GridColumn()
Me.columnToUser = New DevExpress.XtraGrid.Columns.GridColumn()
Me.columnAddedWhen = New DevExpress.XtraGrid.Columns.GridColumn()
CType(Me.RepositoryItemHypertextLabel1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RepositoryItemHyperLinkEdit1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridChat, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.ChatView, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridChatOld, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.ChatViewOld, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.ChatSource, System.ComponentModel.ISupportInitialize).BeginInit()
Me.pnlMessage.SuspendLayout()
Me.MenuStrip1.SuspendLayout()
CType(Me.GridChat, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.ChatView, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'columnUsername
@ -131,43 +139,41 @@ Partial Class ChatControl
Me.RepositoryItemHyperLinkEdit1.AutoHeight = False
Me.RepositoryItemHyperLinkEdit1.Name = "RepositoryItemHyperLinkEdit1"
'
'GridChat
'GridChatOld
'
Me.GridChat.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.GridChat.BackgroundImage = Global.DigitalData.Controls.ChatControl.My.Resources.Resources.crop_php
Me.GridChat.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center
Me.GridChat.EmbeddedNavigator.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4)
Me.GridChat.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.GridChat.Location = New System.Drawing.Point(0, 30)
Me.GridChat.MainView = Me.ChatView
Me.GridChat.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4)
Me.GridChat.Name = "GridChat"
Me.GridChat.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemHyperLinkEdit1, Me.RepositoryItemHypertextLabel1})
Me.GridChat.Size = New System.Drawing.Size(420, 454)
Me.GridChat.TabIndex = 0
Me.GridChat.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.ChatView})
Me.GridChatOld.BackgroundImage = Global.DigitalData.Controls.ChatControl.My.Resources.Resources.crop_php
Me.GridChatOld.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center
Me.GridChatOld.Dock = System.Windows.Forms.DockStyle.Top
Me.GridChatOld.EmbeddedNavigator.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4)
Me.GridChatOld.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.GridChatOld.Location = New System.Drawing.Point(0, 25)
Me.GridChatOld.MainView = Me.ChatViewOld
Me.GridChatOld.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4)
Me.GridChatOld.Name = "GridChatOld"
Me.GridChatOld.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemHyperLinkEdit1, Me.RepositoryItemHypertextLabel1})
Me.GridChatOld.Size = New System.Drawing.Size(422, 213)
Me.GridChatOld.TabIndex = 0
Me.GridChatOld.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.ChatViewOld})
'
'ChatView
'ChatViewOld
'
Me.ChatView.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.columnMessage, Me.columnUsername, Me.columnDate, Me.columnTO_USER})
Me.ChatView.ContextButtonOptions.HoverStateOpacity = 0.75!
Me.ChatView.ContextButtonOptions.TopPanelColor = System.Drawing.Color.White
Me.ChatView.DetailHeight = 431
Me.ChatView.GridControl = Me.GridChat
Me.ChatView.Name = "ChatView"
Me.ChatView.OptionsTiles.ColumnCount = 1
Me.ChatView.OptionsTiles.GroupTextPadding = New System.Windows.Forms.Padding(0, 8, 12, 8)
Me.ChatView.OptionsTiles.IndentBetweenGroups = 0
Me.ChatView.OptionsTiles.IndentBetweenItems = 10
Me.ChatView.OptionsTiles.ItemPadding = New System.Windows.Forms.Padding(0)
Me.ChatView.OptionsTiles.ItemSize = New System.Drawing.Size(374, 90)
Me.ChatView.OptionsTiles.LayoutMode = DevExpress.XtraGrid.Views.Tile.TileViewLayoutMode.Kanban
Me.ChatView.OptionsTiles.Orientation = System.Windows.Forms.Orientation.Vertical
Me.ChatView.OptionsTiles.Padding = New System.Windows.Forms.Padding(5)
Me.ChatView.OptionsTiles.RowCount = 0
Me.ChatView.OptionsTiles.ScrollMode = DevExpress.XtraEditors.TileControlScrollMode.ScrollBar
Me.ChatViewOld.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.columnMessage, Me.columnUsername, Me.columnDate, Me.columnTO_USER})
Me.ChatViewOld.ContextButtonOptions.HoverStateOpacity = 0.75!
Me.ChatViewOld.ContextButtonOptions.TopPanelColor = System.Drawing.Color.White
Me.ChatViewOld.DetailHeight = 431
Me.ChatViewOld.GridControl = Me.GridChatOld
Me.ChatViewOld.Name = "ChatViewOld"
Me.ChatViewOld.OptionsTiles.ColumnCount = 1
Me.ChatViewOld.OptionsTiles.GroupTextPadding = New System.Windows.Forms.Padding(0, 8, 12, 8)
Me.ChatViewOld.OptionsTiles.IndentBetweenGroups = 0
Me.ChatViewOld.OptionsTiles.IndentBetweenItems = 10
Me.ChatViewOld.OptionsTiles.ItemPadding = New System.Windows.Forms.Padding(0)
Me.ChatViewOld.OptionsTiles.ItemSize = New System.Drawing.Size(374, 90)
Me.ChatViewOld.OptionsTiles.LayoutMode = DevExpress.XtraGrid.Views.Tile.TileViewLayoutMode.Kanban
Me.ChatViewOld.OptionsTiles.Orientation = System.Windows.Forms.Orientation.Vertical
Me.ChatViewOld.OptionsTiles.Padding = New System.Windows.Forms.Padding(5)
Me.ChatViewOld.OptionsTiles.RowCount = 0
Me.ChatViewOld.OptionsTiles.ScrollMode = DevExpress.XtraEditors.TileControlScrollMode.ScrollBar
TableColumnDefinition1.Length.Value = 250.0R
TableColumnDefinition2.Length.Value = 100.0R
ItemTemplate1.Columns.Add(TableColumnDefinition1)
@ -175,124 +181,131 @@ Partial Class ChatControl
TileViewItemElement1.Column = Me.columnUsername
TileViewItemElement1.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement1.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.ZoomInside
TileViewItemElement1.RowIndex = 1
TileViewItemElement1.Text = "columnUsername"
TileViewItemElement1.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleLeft
TileViewItemElement1.TextLocation = New System.Drawing.Point(10, 0)
TileViewItemElement2.Column = Me.columnMessage
TileViewItemElement2.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement2.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.ZoomInside
TileViewItemElement2.RowIndex = 2
TileViewItemElement2.RowIndex = 1
TileViewItemElement2.StretchHorizontal = True
TileViewItemElement2.StretchVertical = True
TileViewItemElement2.Text = "columnMessage"
TileViewItemElement2.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleLeft
TileViewItemElement2.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.TopLeft
TileViewItemElement2.TextLocation = New System.Drawing.Point(10, 0)
TileViewItemElement3.Column = Me.columnDate
TileViewItemElement3.ColumnIndex = 1
TileViewItemElement3.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement3.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.ZoomInside
TileViewItemElement3.RowIndex = 1
TileViewItemElement3.Text = "columnDate"
TileViewItemElement3.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleRight
TileViewItemElement3.TextLocation = New System.Drawing.Point(-10, 0)
TileViewItemElement4.Column = Me.columnTO_USER
TileViewItemElement4.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement4.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.ZoomInside
TileViewItemElement4.Text = "columnTO_USER"
TileViewItemElement4.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
ItemTemplate1.Elements.Add(TileViewItemElement1)
ItemTemplate1.Elements.Add(TileViewItemElement2)
ItemTemplate1.Elements.Add(TileViewItemElement3)
ItemTemplate1.Elements.Add(TileViewItemElement4)
ItemTemplate1.Name = "ChatLeft"
TableRowDefinition1.Length.Value = 40.0R
TableRowDefinition2.Length.Value = 19.0R
TableRowDefinition3.Length.Value = 45.0R
TableRowDefinition1.Length.Value = 19.0R
TableRowDefinition2.Length.Value = 45.0R
ItemTemplate1.Rows.Add(TableRowDefinition1)
ItemTemplate1.Rows.Add(TableRowDefinition2)
ItemTemplate1.Rows.Add(TableRowDefinition3)
TableSpan1.ColumnSpan = 2
TableSpan1.RowIndex = 1
ItemTemplate1.Spans.Add(TableSpan1)
TableColumnDefinition3.Length.Value = 100.0R
TableColumnDefinition4.Length.Value = 250.0R
ItemTemplate2.Columns.Add(TableColumnDefinition3)
ItemTemplate2.Columns.Add(TableColumnDefinition4)
TileViewItemElement5.Column = Me.columnUsername
TileViewItemElement4.Column = Me.columnUsername
TileViewItemElement4.ColumnIndex = 1
TileViewItemElement4.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement4.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.ZoomInside
TileViewItemElement4.Text = "columnUsername"
TileViewItemElement4.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleRight
TileViewItemElement4.TextLocation = New System.Drawing.Point(-10, 0)
TileViewItemElement5.Column = Me.columnMessage
TileViewItemElement5.ColumnIndex = 1
TileViewItemElement5.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement5.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.ZoomInside
TileViewItemElement5.Text = "columnUsername"
TileViewItemElement5.MaxWidth = 350
TileViewItemElement5.RowIndex = 1
TileViewItemElement5.Text = "columnMessage"
TileViewItemElement5.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleRight
TileViewItemElement5.TextLocation = New System.Drawing.Point(-10, 0)
TileViewItemElement6.Column = Me.columnMessage
TileViewItemElement6.ColumnIndex = 1
TileViewItemElement6.Column = Me.columnDate
TileViewItemElement6.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement6.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.ZoomInside
TileViewItemElement6.RowIndex = 1
TileViewItemElement6.Text = "columnMessage"
TileViewItemElement6.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleRight
TileViewItemElement6.TextLocation = New System.Drawing.Point(-10, 0)
TileViewItemElement7.Column = Me.columnDate
TileViewItemElement7.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement7.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.ZoomInside
TileViewItemElement7.Text = "columnDate"
TileViewItemElement7.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleLeft
TileViewItemElement7.TextLocation = New System.Drawing.Point(10, 0)
TileViewItemElement6.Text = "columnDate"
TileViewItemElement6.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleLeft
TileViewItemElement6.TextLocation = New System.Drawing.Point(10, 0)
ItemTemplate2.Elements.Add(TileViewItemElement4)
ItemTemplate2.Elements.Add(TileViewItemElement5)
ItemTemplate2.Elements.Add(TileViewItemElement6)
ItemTemplate2.Elements.Add(TileViewItemElement7)
ItemTemplate2.Name = "ChatRight"
TableRowDefinition4.Length.Value = 19.0R
TableRowDefinition5.Length.Value = 45.0R
TableRowDefinition3.Length.Value = 19.0R
TableRowDefinition4.Length.Value = 45.0R
ItemTemplate2.Rows.Add(TableRowDefinition3)
ItemTemplate2.Rows.Add(TableRowDefinition4)
ItemTemplate2.Rows.Add(TableRowDefinition5)
TableColumnDefinition5.Length.Value = 250.0R
TableColumnDefinition6.Length.Value = 100.0R
ItemTemplate3.Columns.Add(TableColumnDefinition5)
ItemTemplate3.Columns.Add(TableColumnDefinition6)
TileViewItemElement8.Column = Me.columnUsername
TileViewItemElement7.Column = Me.columnUsername
TileViewItemElement7.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement7.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.ZoomInside
TileViewItemElement7.RowIndex = 1
TileViewItemElement7.Text = "columnUsername"
TileViewItemElement7.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleLeft
TileViewItemElement7.TextLocation = New System.Drawing.Point(10, 0)
TileViewItemElement8.Column = Me.columnMessage
TileViewItemElement8.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement8.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.ZoomInside
TileViewItemElement8.RowIndex = 1
TileViewItemElement8.Text = "columnUsername"
TileViewItemElement8.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleLeft
TileViewItemElement8.RowIndex = 2
TileViewItemElement8.StretchHorizontal = True
TileViewItemElement8.StretchVertical = True
TileViewItemElement8.Text = "columnMessage"
TileViewItemElement8.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.TopLeft
TileViewItemElement8.TextLocation = New System.Drawing.Point(10, 0)
TileViewItemElement9.Column = Me.columnMessage
TileViewItemElement9.Column = Me.columnDate
TileViewItemElement9.ColumnIndex = 1
TileViewItemElement9.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement9.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.ZoomInside
TileViewItemElement9.RowIndex = 2
TileViewItemElement9.Text = "columnMessage"
TileViewItemElement9.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleLeft
TileViewItemElement9.TextLocation = New System.Drawing.Point(10, 0)
TileViewItemElement10.Column = Me.columnDate
TileViewItemElement10.ColumnIndex = 1
TileViewItemElement9.RowIndex = 1
TileViewItemElement9.Text = "columnDate"
TileViewItemElement9.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleRight
TileViewItemElement9.TextLocation = New System.Drawing.Point(-10, 0)
TileViewItemElement10.Appearance.Normal.BackColor = System.Drawing.Color.PaleGreen
TileViewItemElement10.Appearance.Normal.Options.UseBackColor = True
TileViewItemElement10.Column = Me.columnTO_USER
TileViewItemElement10.Height = 19
TileViewItemElement10.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement10.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.ZoomInside
TileViewItemElement10.RowIndex = 1
TileViewItemElement10.Text = "columnDate"
TileViewItemElement10.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleRight
TileViewItemElement10.TextLocation = New System.Drawing.Point(-10, 0)
TileViewItemElement11.Column = Me.columnTO_USER
TileViewItemElement11.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement11.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.ZoomInside
TileViewItemElement11.Text = "columnTO_USER"
TileViewItemElement11.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleLeft
TileViewItemElement11.TextLocation = New System.Drawing.Point(10, 0)
TileViewItemElement10.StretchHorizontal = True
TileViewItemElement10.Text = "columnTO_USER"
TileViewItemElement10.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleLeft
TileViewItemElement10.TextLocation = New System.Drawing.Point(10, 0)
ItemTemplate3.Elements.Add(TileViewItemElement7)
ItemTemplate3.Elements.Add(TileViewItemElement8)
ItemTemplate3.Elements.Add(TileViewItemElement9)
ItemTemplate3.Elements.Add(TileViewItemElement10)
ItemTemplate3.Elements.Add(TileViewItemElement11)
ItemTemplate3.Name = "ChatTo"
TableRowDefinition6.Length.Value = 17.0R
TableRowDefinition7.Length.Value = 19.0R
TableRowDefinition8.Length.Value = 54.0R
TableRowDefinition5.Length.Value = 17.0R
TableRowDefinition6.Length.Value = 19.0R
TableRowDefinition7.Length.Value = 54.0R
ItemTemplate3.Rows.Add(TableRowDefinition5)
ItemTemplate3.Rows.Add(TableRowDefinition6)
ItemTemplate3.Rows.Add(TableRowDefinition7)
ItemTemplate3.Rows.Add(TableRowDefinition8)
Me.ChatView.Templates.Add(ItemTemplate1)
Me.ChatView.Templates.Add(ItemTemplate2)
Me.ChatView.Templates.Add(ItemTemplate3)
Me.ChatView.TileColumns.Add(TableColumnDefinition7)
Me.ChatView.TileColumns.Add(TableColumnDefinition8)
Me.ChatView.TileRows.Add(TableRowDefinition9)
Me.ChatView.TileRows.Add(TableRowDefinition10)
TableSpan2.ColumnSpan = 2
TableSpan3.ColumnSpan = 2
TableSpan3.RowIndex = 2
ItemTemplate3.Spans.Add(TableSpan2)
ItemTemplate3.Spans.Add(TableSpan3)
Me.ChatViewOld.Templates.Add(ItemTemplate1)
Me.ChatViewOld.Templates.Add(ItemTemplate2)
Me.ChatViewOld.Templates.Add(ItemTemplate3)
Me.ChatViewOld.TileColumns.Add(TableColumnDefinition7)
Me.ChatViewOld.TileColumns.Add(TableColumnDefinition8)
Me.ChatViewOld.TileRows.Add(TableRowDefinition8)
Me.ChatViewOld.TileRows.Add(TableRowDefinition9)
'
'btnSendMessage
'
@ -386,14 +399,74 @@ Partial Class ChatControl
Me.TeilnehmerToolStripMenuItem.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right
Me.TeilnehmerToolStripMenuItem.ForeColor = System.Drawing.Color.DarkCyan
Me.TeilnehmerToolStripMenuItem.Name = "TeilnehmerToolStripMenuItem"
Me.TeilnehmerToolStripMenuItem.Size = New System.Drawing.Size(78, 21)
Me.TeilnehmerToolStripMenuItem.Size = New System.Drawing.Size(77, 21)
Me.TeilnehmerToolStripMenuItem.Text = "Teilnehmer"
'
'GridChat
'
Me.GridChat.Dock = System.Windows.Forms.DockStyle.Fill
Me.GridChat.Location = New System.Drawing.Point(0, 238)
Me.GridChat.MainView = Me.ChatView
Me.GridChat.Name = "GridChat"
Me.GridChat.Size = New System.Drawing.Size(422, 247)
Me.GridChat.TabIndex = 5
Me.GridChat.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.ChatView})
'
'ChatView
'
Me.ChatView.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.columnFromUser, Me.columnToUser, Me.columnAddedWhen})
Me.ChatView.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFullFocus
Me.ChatView.GridControl = Me.GridChat
Me.ChatView.GroupPanelText = "Nachrichten können mit der Lupe durchsucht werden"
Me.ChatView.Name = "ChatView"
Me.ChatView.OptionsFind.SearchInPreview = True
Me.ChatView.OptionsView.AutoCalcPreviewLineCount = True
Me.ChatView.OptionsView.ShowColumnHeaders = False
Me.ChatView.OptionsView.ShowHorizontalLines = DevExpress.Utils.DefaultBoolean.[False]
Me.ChatView.OptionsView.ShowIndicator = False
Me.ChatView.OptionsView.ShowPreview = True
Me.ChatView.OptionsView.ShowPreviewRowLines = DevExpress.Utils.DefaultBoolean.[False]
Me.ChatView.OptionsView.ShowVerticalLines = DevExpress.Utils.DefaultBoolean.[False]
Me.ChatView.PreviewFieldName = "MESSAGE_TEXT"
Me.ChatView.RowHeight = 25
Me.ChatView.RowSeparatorHeight = 25
'
'columnFromUser
'
Me.columnFromUser.AppearanceCell.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.columnFromUser.AppearanceCell.Options.UseFont = True
Me.columnFromUser.FieldName = "USER_FROM"
Me.columnFromUser.Name = "columnFromUser"
Me.columnFromUser.OptionsColumn.AllowEdit = False
Me.columnFromUser.Visible = True
Me.columnFromUser.VisibleIndex = 0
'
'columnToUser
'
Me.columnToUser.AppearanceCell.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Bold)
Me.columnToUser.AppearanceCell.Options.UseFont = True
Me.columnToUser.FieldName = "TO_USER"
Me.columnToUser.Name = "columnToUser"
Me.columnToUser.OptionsColumn.AllowEdit = False
Me.columnToUser.Visible = True
Me.columnToUser.VisibleIndex = 1
'
'columnAddedWhen
'
Me.columnAddedWhen.AppearanceCell.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Bold)
Me.columnAddedWhen.AppearanceCell.Options.UseFont = True
Me.columnAddedWhen.FieldName = "ADDED_WHEN"
Me.columnAddedWhen.Name = "columnAddedWhen"
Me.columnAddedWhen.OptionsColumn.AllowEdit = False
Me.columnAddedWhen.Visible = True
Me.columnAddedWhen.VisibleIndex = 2
'
'ChatControl
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 16.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.Controls.Add(Me.GridChat)
Me.Controls.Add(Me.GridChatOld)
Me.Controls.Add(Me.pnlMessage)
Me.Controls.Add(Me.MenuStrip1)
Me.Font = New System.Drawing.Font("Tahoma", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
@ -402,18 +475,20 @@ Partial Class ChatControl
Me.Size = New System.Drawing.Size(422, 587)
CType(Me.RepositoryItemHypertextLabel1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RepositoryItemHyperLinkEdit1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridChat, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.ChatView, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridChatOld, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.ChatViewOld, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.ChatSource, System.ComponentModel.ISupportInitialize).EndInit()
Me.pnlMessage.ResumeLayout(False)
Me.MenuStrip1.ResumeLayout(False)
Me.MenuStrip1.PerformLayout()
CType(Me.GridChat, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.ChatView, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents GridChat As DevExpress.XtraGrid.GridControl
Friend WithEvents ChatView As DevExpress.XtraGrid.Views.Tile.TileView
Friend WithEvents GridChatOld As DevExpress.XtraGrid.GridControl
Friend WithEvents ChatViewOld As DevExpress.XtraGrid.Views.Tile.TileView
Friend WithEvents columnMessage As DevExpress.XtraGrid.Columns.TileViewColumn
Friend WithEvents columnUsername As DevExpress.XtraGrid.Columns.TileViewColumn
Friend WithEvents columnDate As DevExpress.XtraGrid.Columns.TileViewColumn
@ -431,4 +506,9 @@ Partial Class ChatControl
Friend WithEvents RichTextBox1 As RichTextBox
Friend WithEvents columnTO_USER As DevExpress.XtraGrid.Columns.TileViewColumn
Friend WithEvents ListBoxUserMention As ListBox
Friend WithEvents GridChat As DevExpress.XtraGrid.GridControl
Friend WithEvents ChatView As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents columnFromUser As DevExpress.XtraGrid.Columns.GridColumn
Friend WithEvents columnAddedWhen As DevExpress.XtraGrid.Columns.GridColumn
Friend WithEvents columnToUser As DevExpress.XtraGrid.Columns.GridColumn
End Class

View File

@ -7,6 +7,8 @@ Public Class ChatControl
Private ReadOnly IdentificationColumn As String = "USER_FROM"
Private ReadOnly MessageColumn As String = "MESSAGE_TEXT"
Private ReadOnly DateColumn As String = "ADDED_WHEN"
Private ReadOnly ToUserColumn As String = "TO_USER"
Public Delegate Sub ConversationEnded()
Public Event Conversation_Ended As ConversationEnded
Public Delegate Sub ConversationUsersAdded_Success()
@ -158,7 +160,10 @@ Public Class ChatControl
' BuildUsernameColorDict(oDatatable)
oSQL = $"SELECT * FROM VWIDB_CONVERSATION WHERE CONVERSATION_ID = {ConversationId}"
Dim oDatatable2 As DataTable = Db.GetDatatable(oSQL)
GridChatOld.DataSource = ChatSource
GridChat.DataSource = ChatSource
ChatSource.DataSource = oDatatable
tsmitmTitle.Text = oDatatable2.Rows(0).Item("TITLE")
CurrentConversationID = ConversationId
@ -215,6 +220,7 @@ Public Class ChatControl
Dim oResult = Db.GetScalarValue(oSQL)
LoadConversation(CurrentConversationID)
RichTextBox1.Text = String.Empty
ChatViewOld.MoveLast()
ChatView.MoveLast()
Catch ex As Exception
Logger.Error(ex)
@ -235,44 +241,38 @@ Public Class ChatControl
' End Sub)
'End Sub
Private Sub ChatView_CustomItemTemplate(sender As Object, e As TileViewCustomItemTemplateEventArgs) Handles ChatView.CustomItemTemplate
Dim oRow As DataRow = ChatView.GetDataRow(e.RowHandle)
Private Sub ChatView_CustomItemTemplate(sender As Object, e As TileViewCustomItemTemplateEventArgs) Handles ChatViewOld.CustomItemTemplate
Dim oRow As DataRow = ChatViewOld.GetDataRow(e.RowHandle)
Dim oIdentification As String = oRow.Item(IdentificationColumn)
Dim oToUser = oRow.Item("TO_USER")
Dim oToUser = oRow.Item(ToUserColumn)
If Not IsDBNull(oToUser) Then
e.Template = e.Templates.Item("ChatTo")
Else
If oIdentification = ConversationIdentification Or oIdentification = Username Then
e.Template = e.Templates.Item("ChatRight")
Else
e.Template = e.Templates.Item("ChatLeft")
End If
'If oIdentification = ConversationIdentification Or oIdentification = Username Then
' e.Template = e.Templates.Item("ChatRight")
'Else
' e.Template = e.Templates.Item("ChatLeft")
'End If
e.Template = e.Templates.Item("ChatLeft")
End If
End Sub
Private Sub ChatView_ItemCustomize(sender As Object, e As TileViewItemCustomizeEventArgs) Handles ChatView.ItemCustomize
Dim oRow As DataRow = ChatView.GetDataRow(e.RowHandle)
Private Sub ChatView_ItemCustomize(sender As Object, e As TileViewItemCustomizeEventArgs) Handles ChatViewOld.ItemCustomize
Dim oRow As DataRow = ChatViewOld.GetDataRow(e.RowHandle)
Dim oUsername As String = oRow.Item(IdentificationColumn)
Dim oMessage As String = oRow.Item(MessageColumn)
Dim oToUser = oRow.Item(ToUserColumn)
' Dim oColor As Color = UsernameColorsDict.Item(oUsername)
If oUsername = ConversationIdentification Or oUsername = Username Then
e.Item.AppearanceItem.Normal.BackColor = Color.PaleTurquoise
e.Item.Item(IdentificationColumn).Appearance.Normal.ForeColor = Color.Purple
Else
' e.Item.AppearanceItem.Normal.BackColor = Color.whi
e.Item.Item(IdentificationColumn).Appearance.Normal.ForeColor = Color.Red
End If
'e.Item.AppearanceItem.Focused.BackColor = Color.Turquoise
End Sub
Private Sub txtMessage_KeyUp(sender As Object, e As KeyEventArgs)
e.Item.ItemSize = DevExpress.XtraEditors.TileItemSize.Wide
End Sub
Private Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles btnSendMessage.Click
@ -281,18 +281,6 @@ Public Class ChatControl
End If
End Sub
Private Sub TextBox1_KeyUp(sender As Object, e As KeyEventArgs)
End Sub
Private Sub ChatControl_Click(sender As Object, e As EventArgs) Handles MyBase.Click
End Sub
Private Sub ChatControl_Leave(sender As Object, e As EventArgs) Handles Me.Leave
End Sub
Private Sub ToolStripMenuItemConv_end_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItemConv_end.Click
If CurrentConversationID <> 0 Then
Dim result As MsgBoxResult
@ -342,14 +330,9 @@ Public Class ChatControl
If e.Control And e.KeyCode = Keys.Enter And RichTextBox1.Text.Count > 0 Then
NewMessage(RichTextBox1.Text)
ElseIf (Keys.Alt AndAlso Keys.Control) And e.KeyCode = keys.Q Then
With RichTextBox1
ListBoxUserMention.Left = .GetPositionFromCharIndex(
.SelectionStart).X + .Left + 10
ListBoxUserMention.Top = .GetPositionFromCharIndex(
.SelectionStart).Y + .Top + 20
ListBoxUserMention.Left = .GetPositionFromCharIndex(.SelectionStart).X + .Left + 10
ListBoxUserMention.Top = .GetPositionFromCharIndex(.SelectionStart).Y + .Top + 20
' Jetzt ListBox einblendenden, Focus auf diese setzen
' und den ersten Eintrag selektieren
ListBoxUserMention.Visible = True
@ -357,7 +340,6 @@ Public Class ChatControl
ListBoxUserMention.SelectedIndex = 0
End With
'Dim opoint As Point = GetPoint(sender)
'AssistListBox.PointToClient(opoint)
'pnlMessage.Controls.Add(AssistListBox)
@ -365,9 +347,7 @@ Public Class ChatControl
'AssistListBox.BringToFront()
' '@ was pressed
End If
End Sub
Sub AssistListBox_Changed()
Try
@ -444,4 +424,56 @@ Public Class ChatControl
End With
End If
End Sub
Private Sub ChatView_CustomDrawRowPreview(sender As Object, e As DevExpress.XtraGrid.Views.Base.RowObjectCustomDrawEventArgs) Handles ChatView.CustomDrawRowPreview
Dim oRow As DataRow = ChatViewOld.GetDataRow(e.RowHandle)
Dim oUsername As String = oRow.Item(IdentificationColumn)
Dim oToUser = oRow.Item(ToUserColumn)
Dim oIsOwnMessage As Boolean = oUsername = ConversationIdentification Or oUsername = Username
' Eigene Nachrichten
If oIsOwnMessage Then
e.Appearance.BackColor = Color.PaleTurquoise
End If
' Andere Nachrichten
If Not oIsOwnMessage Then
e.Appearance.BackColor = Color.White
End If
End Sub
Private Sub ChatView_CustomDrawCell(sender As Object, e As DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs) Handles ChatView.CustomDrawCell
Dim oRow As DataRow = ChatViewOld.GetDataRow(e.RowHandle)
Dim oUsername As String = oRow.Item(IdentificationColumn)
Dim oToUser = oRow.Item(ToUserColumn)
Dim oIsOwnMessage As Boolean = oUsername = ConversationIdentification Or oUsername = Username
' Eigene Nachrichten
If oIsOwnMessage Then
' Benutzername
If e.Column.FieldName = IdentificationColumn Then
e.Appearance.ForeColor = Color.Purple
End If
e.Appearance.BackColor = Color.PaleTurquoise
End If
' Andere Nachrichten
If Not oIsOwnMessage Then
If e.Column.FieldName = IdentificationColumn Then
e.Appearance.ForeColor = Color.Red
End If
If Not (IsNothing(oToUser) Or IsDBNull(oToUser)) Then
If oToUser = Username Or oToUser = ConversationIdentification Then
e.Appearance.BackColor = Color.LightSalmon
Else
e.Appearance.BackColor = Color.White
End If
Else
e.Appearance.BackColor = Color.White
End If
End If
End Sub
End Class