MS: Chat und co

This commit is contained in:
2020-06-09 16:59:04 +02:00
parent 3d6eb0af14
commit 886c1115ec
36 changed files with 1542 additions and 246 deletions

View File

@@ -23,77 +23,73 @@ Partial Class ChatControl
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim ItemTemplate3 As DevExpress.XtraGrid.Views.Tile.ItemTemplate = New DevExpress.XtraGrid.Views.Tile.ItemTemplate()
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 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 TableRowDefinition7 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim TableRowDefinition8 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim ItemTemplate4 As DevExpress.XtraGrid.Views.Tile.ItemTemplate = New DevExpress.XtraGrid.Views.Tile.ItemTemplate()
Dim TableColumnDefinition9 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition()
Dim TableColumnDefinition10 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition()
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 TileViewItemElement12 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement()
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 TableColumnDefinition11 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition()
Dim TableColumnDefinition12 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition()
Dim TableRowDefinition11 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim TableRowDefinition12 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim EditorButtonImageOptions2 As DevExpress.XtraEditors.Controls.EditorButtonImageOptions = New DevExpress.XtraEditors.Controls.EditorButtonImageOptions()
Dim SerializableAppearanceObject5 As DevExpress.Utils.SerializableAppearanceObject = New DevExpress.Utils.SerializableAppearanceObject()
Dim SerializableAppearanceObject6 As DevExpress.Utils.SerializableAppearanceObject = New DevExpress.Utils.SerializableAppearanceObject()
Dim SerializableAppearanceObject7 As DevExpress.Utils.SerializableAppearanceObject = New DevExpress.Utils.SerializableAppearanceObject()
Dim SerializableAppearanceObject8 As DevExpress.Utils.SerializableAppearanceObject = New DevExpress.Utils.SerializableAppearanceObject()
Dim ItemTemplate1 As DevExpress.XtraGrid.Views.Tile.ItemTemplate = New DevExpress.XtraGrid.Views.Tile.ItemTemplate()
Dim TableColumnDefinition1 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition()
Dim TableColumnDefinition2 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition()
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 TableRowDefinition1 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim TableRowDefinition2 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
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 TableRowDefinition3 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim TableRowDefinition4 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
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 TableRowDefinition5 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim TableRowDefinition6 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()
Me.columnDate = New DevExpress.XtraGrid.Columns.TileViewColumn()
Me.RepositoryItemHypertextLabel1 = New DevExpress.XtraEditors.Repository.RepositoryItemHypertextLabel()
Me.RepositoryItemHyperLinkEdit1 = New DevExpress.XtraEditors.Repository.RepositoryItemHyperLinkEdit()
Me.SplitContainerControl1 = New DevExpress.XtraEditors.SplitContainerControl()
Me.GridChat = New DevExpress.XtraGrid.GridControl()
Me.ChatView = New DevExpress.XtraGrid.Views.Tile.TileView()
Me.lookupConversations = New DigitalData.Controls.LookupGrid.LookupControl2()
Me.LookupControl21View = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.txtMessage = New DevExpress.XtraEditors.MemoEdit()
Me.btnSendMessage = New DevExpress.XtraEditors.SimpleButton()
Me.ChatSource = New System.Windows.Forms.BindingSource(Me.components)
Me.Panel1 = New System.Windows.Forms.Panel()
Me.txtMessage = New System.Windows.Forms.TextBox()
Me.lblTitle = New System.Windows.Forms.Label()
CType(Me.RepositoryItemHypertextLabel1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RepositoryItemHyperLinkEdit1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerControl1.SuspendLayout()
CType(Me.GridChat, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.ChatView, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.lookupConversations.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LookupControl21View, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.txtMessage.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.ChatSource, System.ComponentModel.ISupportInitialize).BeginInit()
Me.Panel1.SuspendLayout()
Me.SuspendLayout()
'
'columnUsername
'
Me.columnUsername.FieldName = "USER_FROM"
Me.columnUsername.MinWidth = 23
Me.columnUsername.Name = "columnUsername"
Me.columnUsername.Visible = True
Me.columnUsername.VisibleIndex = 1
Me.columnUsername.Width = 87
'
'columnMessage
'
Me.columnMessage.FieldName = "MESSAGE_TEXT"
Me.columnMessage.MinWidth = 23
Me.columnMessage.Name = "columnMessage"
Me.columnMessage.Visible = True
Me.columnMessage.VisibleIndex = 0
Me.columnMessage.Width = 87
'
'columnDate
'
Me.columnDate.FieldName = "ADDED_WHEN"
Me.columnDate.MinWidth = 23
Me.columnDate.Name = "columnDate"
Me.columnDate.Visible = True
Me.columnDate.VisibleIndex = 2
Me.columnDate.Width = 87
'
'RepositoryItemHypertextLabel1
'
@@ -104,33 +100,21 @@ Partial Class ChatControl
Me.RepositoryItemHyperLinkEdit1.AutoHeight = False
Me.RepositoryItemHyperLinkEdit1.Name = "RepositoryItemHyperLinkEdit1"
'
'SplitContainerControl1
'
Me.SplitContainerControl1.Dock = System.Windows.Forms.DockStyle.Fill
Me.SplitContainerControl1.FixedPanel = DevExpress.XtraEditors.SplitFixedPanel.Panel2
Me.SplitContainerControl1.Horizontal = False
Me.SplitContainerControl1.IsSplitterFixed = True
Me.SplitContainerControl1.Location = New System.Drawing.Point(0, 0)
Me.SplitContainerControl1.Name = "SplitContainerControl1"
Me.SplitContainerControl1.Panel1.Controls.Add(Me.GridChat)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.lookupConversations)
Me.SplitContainerControl1.Panel1.Text = "Panel1"
Me.SplitContainerControl1.Panel2.Controls.Add(Me.txtMessage)
Me.SplitContainerControl1.Panel2.Controls.Add(Me.btnSendMessage)
Me.SplitContainerControl1.Panel2.Text = "Panel2"
Me.SplitContainerControl1.Size = New System.Drawing.Size(317, 314)
Me.SplitContainerControl1.SplitterPosition = 50
Me.SplitContainerControl1.TabIndex = 0
'
'GridChat
'
Me.GridChat.Dock = System.Windows.Forms.DockStyle.Fill
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, 20)
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(317, 234)
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})
'
@@ -139,6 +123,7 @@ Partial Class ChatControl
Me.ChatView.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.columnMessage, Me.columnUsername, Me.columnDate})
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
@@ -152,154 +137,163 @@ Partial Class ChatControl
Me.ChatView.OptionsTiles.Padding = New System.Windows.Forms.Padding(5)
Me.ChatView.OptionsTiles.RowCount = 0
Me.ChatView.OptionsTiles.ScrollMode = DevExpress.XtraEditors.TileControlScrollMode.ScrollBar
TableColumnDefinition7.Length.Value = 250.0R
TableColumnDefinition8.Length.Value = 100.0R
ItemTemplate3.Columns.Add(TableColumnDefinition7)
ItemTemplate3.Columns.Add(TableColumnDefinition8)
TileViewItemElement7.Column = Me.columnUsername
TileViewItemElement7.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement7.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.ZoomInside
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 = "columnMessage"
TileViewItemElement8.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleLeft
TileViewItemElement8.TextLocation = New System.Drawing.Point(10, 0)
TileViewItemElement9.Column = Me.columnDate
TileViewItemElement9.ColumnIndex = 1
TileViewItemElement9.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement9.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.ZoomInside
TileViewItemElement9.Text = "columnDate"
TileViewItemElement9.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleRight
TileViewItemElement9.TextLocation = New System.Drawing.Point(-10, 0)
ItemTemplate3.Elements.Add(TileViewItemElement7)
ItemTemplate3.Elements.Add(TileViewItemElement8)
ItemTemplate3.Elements.Add(TileViewItemElement9)
ItemTemplate3.Name = "ChatLeft"
TableRowDefinition7.Length.Value = 24.0R
TableRowDefinition8.Length.Value = 24.0R
ItemTemplate3.Rows.Add(TableRowDefinition7)
ItemTemplate3.Rows.Add(TableRowDefinition8)
TableColumnDefinition9.Length.Value = 100.0R
TableColumnDefinition10.Length.Value = 250.0R
ItemTemplate4.Columns.Add(TableColumnDefinition9)
ItemTemplate4.Columns.Add(TableColumnDefinition10)
TileViewItemElement10.Column = Me.columnUsername
TileViewItemElement10.ColumnIndex = 1
TileViewItemElement10.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement10.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.ZoomInside
TileViewItemElement10.Text = "columnUsername"
TileViewItemElement10.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleRight
TileViewItemElement10.TextLocation = New System.Drawing.Point(-10, 0)
TileViewItemElement11.Column = Me.columnMessage
TileViewItemElement11.ColumnIndex = 1
TileViewItemElement11.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement11.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.ZoomInside
TileViewItemElement11.RowIndex = 1
TileViewItemElement11.Text = "columnMessage"
TileViewItemElement11.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleRight
TileViewItemElement11.TextLocation = New System.Drawing.Point(-10, 0)
TileViewItemElement12.Column = Me.columnDate
TileViewItemElement12.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement12.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.ZoomInside
TileViewItemElement12.Text = "columnDate"
TileViewItemElement12.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleLeft
TileViewItemElement12.TextLocation = New System.Drawing.Point(10, 0)
ItemTemplate4.Elements.Add(TileViewItemElement10)
ItemTemplate4.Elements.Add(TileViewItemElement11)
ItemTemplate4.Elements.Add(TileViewItemElement12)
ItemTemplate4.Name = "ChatRight"
TableRowDefinition9.Length.Value = 24.0R
TableRowDefinition10.Length.Value = 24.0R
ItemTemplate4.Rows.Add(TableRowDefinition9)
ItemTemplate4.Rows.Add(TableRowDefinition10)
Me.ChatView.Templates.Add(ItemTemplate3)
Me.ChatView.Templates.Add(ItemTemplate4)
Me.ChatView.TileColumns.Add(TableColumnDefinition11)
Me.ChatView.TileColumns.Add(TableColumnDefinition12)
Me.ChatView.TileRows.Add(TableRowDefinition11)
Me.ChatView.TileRows.Add(TableRowDefinition12)
'
'lookupConversations
'
Me.lookupConversations.AllowAddNewValues = False
Me.lookupConversations.DataSource = Nothing
Me.lookupConversations.Dock = System.Windows.Forms.DockStyle.Top
Me.lookupConversations.Location = New System.Drawing.Point(0, 0)
Me.lookupConversations.MultiSelect = False
Me.lookupConversations.Name = "lookupConversations"
Me.lookupConversations.PreventDuplicates = False
Me.lookupConversations.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Ellipsis, "", -1, True, True, False, EditorButtonImageOptions2, New DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), SerializableAppearanceObject5, SerializableAppearanceObject6, SerializableAppearanceObject7, SerializableAppearanceObject8, "", "openLookupForm", Nothing, DevExpress.Utils.ToolTipAnchor.[Default])})
Me.lookupConversations.Properties.NullText = ""
Me.lookupConversations.Properties.PopupView = Me.LookupControl21View
Me.lookupConversations.SelectedValues = CType(resources.GetObject("lookupConversations.SelectedValues"), System.Collections.Generic.List(Of String))
Me.lookupConversations.Size = New System.Drawing.Size(317, 20)
Me.lookupConversations.TabIndex = 1
'
'LookupControl21View
'
Me.LookupControl21View.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus
Me.LookupControl21View.Name = "LookupControl21View"
Me.LookupControl21View.OptionsSelection.EnableAppearanceFocusedCell = False
Me.LookupControl21View.OptionsView.ShowGroupPanel = False
'
'txtMessage
'
Me.txtMessage.Dock = System.Windows.Forms.DockStyle.Fill
Me.txtMessage.Location = New System.Drawing.Point(0, 0)
Me.txtMessage.Name = "txtMessage"
Me.txtMessage.Properties.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.txtMessage.Properties.Appearance.Options.UseFont = True
Me.txtMessage.Size = New System.Drawing.Size(275, 50)
Me.txtMessage.TabIndex = 1
TableColumnDefinition1.Length.Value = 250.0R
TableColumnDefinition2.Length.Value = 100.0R
ItemTemplate1.Columns.Add(TableColumnDefinition1)
ItemTemplate1.Columns.Add(TableColumnDefinition2)
TileViewItemElement1.Column = Me.columnUsername
TileViewItemElement1.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement1.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.ZoomInside
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 = 1
TileViewItemElement2.Text = "columnMessage"
TileViewItemElement2.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleLeft
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.Text = "columnDate"
TileViewItemElement3.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleRight
TileViewItemElement3.TextLocation = New System.Drawing.Point(-10, 0)
ItemTemplate1.Elements.Add(TileViewItemElement1)
ItemTemplate1.Elements.Add(TileViewItemElement2)
ItemTemplate1.Elements.Add(TileViewItemElement3)
ItemTemplate1.Name = "ChatLeft"
TableRowDefinition1.Length.Value = 24.0R
TableRowDefinition2.Length.Value = 24.0R
ItemTemplate1.Rows.Add(TableRowDefinition1)
ItemTemplate1.Rows.Add(TableRowDefinition2)
TableColumnDefinition3.Length.Value = 100.0R
TableColumnDefinition4.Length.Value = 250.0R
ItemTemplate2.Columns.Add(TableColumnDefinition3)
ItemTemplate2.Columns.Add(TableColumnDefinition4)
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.RowIndex = 1
TileViewItemElement5.Text = "columnMessage"
TileViewItemElement5.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleRight
TileViewItemElement5.TextLocation = New System.Drawing.Point(-10, 0)
TileViewItemElement6.Column = Me.columnDate
TileViewItemElement6.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement6.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.ZoomInside
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.Name = "ChatRight"
TableRowDefinition3.Length.Value = 24.0R
TableRowDefinition4.Length.Value = 24.0R
ItemTemplate2.Rows.Add(TableRowDefinition3)
ItemTemplate2.Rows.Add(TableRowDefinition4)
Me.ChatView.Templates.Add(ItemTemplate1)
Me.ChatView.Templates.Add(ItemTemplate2)
Me.ChatView.TileColumns.Add(TableColumnDefinition5)
Me.ChatView.TileColumns.Add(TableColumnDefinition6)
Me.ChatView.TileRows.Add(TableRowDefinition5)
Me.ChatView.TileRows.Add(TableRowDefinition6)
'
'btnSendMessage
'
Me.btnSendMessage.Dock = System.Windows.Forms.DockStyle.Right
Me.btnSendMessage.ImageOptions.Image = CType(resources.GetObject("btnSendMessage.ImageOptions.Image"), System.Drawing.Image)
Me.btnSendMessage.ImageOptions.Location = DevExpress.XtraEditors.ImageLocation.MiddleCenter
Me.btnSendMessage.ImageOptions.SvgImage = CType(resources.GetObject("btnSendMessage.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.btnSendMessage.Location = New System.Drawing.Point(275, 0)
Me.btnSendMessage.Location = New System.Drawing.Point(373, 0)
Me.btnSendMessage.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4)
Me.btnSendMessage.Name = "btnSendMessage"
Me.btnSendMessage.PaintStyle = DevExpress.XtraEditors.Controls.PaintStyles.Light
Me.btnSendMessage.Size = New System.Drawing.Size(42, 50)
Me.btnSendMessage.Size = New System.Drawing.Size(49, 102)
Me.btnSendMessage.TabIndex = 2
Me.btnSendMessage.ToolTip = "Add message"
'
'Panel1
'
Me.Panel1.BackColor = System.Drawing.SystemColors.GradientActiveCaption
Me.Panel1.Controls.Add(Me.txtMessage)
Me.Panel1.Controls.Add(Me.btnSendMessage)
Me.Panel1.Dock = System.Windows.Forms.DockStyle.Bottom
Me.Panel1.Location = New System.Drawing.Point(0, 485)
Me.Panel1.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4)
Me.Panel1.Name = "Panel1"
Me.Panel1.Size = New System.Drawing.Size(422, 102)
Me.Panel1.TabIndex = 3
'
'txtMessage
'
Me.txtMessage.AcceptsReturn = True
Me.txtMessage.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.txtMessage.BackColor = System.Drawing.Color.GhostWhite
Me.txtMessage.BorderStyle = System.Windows.Forms.BorderStyle.None
Me.txtMessage.Font = New System.Drawing.Font("Calibri", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.txtMessage.ForeColor = System.Drawing.SystemColors.InfoText
Me.txtMessage.Location = New System.Drawing.Point(17, 15)
Me.txtMessage.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4)
Me.txtMessage.Multiline = True
Me.txtMessage.Name = "txtMessage"
Me.txtMessage.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
Me.txtMessage.Size = New System.Drawing.Size(349, 70)
Me.txtMessage.TabIndex = 3
'
'lblTitle
'
Me.lblTitle.AutoSize = True
Me.lblTitle.Font = New System.Drawing.Font("Tahoma", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblTitle.Location = New System.Drawing.Point(3, 10)
Me.lblTitle.Name = "lblTitle"
Me.lblTitle.Size = New System.Drawing.Size(50, 16)
Me.lblTitle.TabIndex = 4
Me.lblTitle.Text = "Label1"
'
'ChatControl
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 16.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.Controls.Add(Me.SplitContainerControl1)
Me.Controls.Add(Me.lblTitle)
Me.Controls.Add(Me.GridChat)
Me.Controls.Add(Me.Panel1)
Me.Font = New System.Drawing.Font("Tahoma", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4)
Me.Name = "ChatControl"
Me.Size = New System.Drawing.Size(317, 314)
Me.Size = New System.Drawing.Size(422, 587)
CType(Me.RepositoryItemHypertextLabel1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RepositoryItemHyperLinkEdit1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerControl1.ResumeLayout(False)
CType(Me.GridChat, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.ChatView, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.lookupConversations.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LookupControl21View, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.txtMessage.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.ChatSource, System.ComponentModel.ISupportInitialize).EndInit()
Me.Panel1.ResumeLayout(False)
Me.Panel1.PerformLayout()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents SplitContainerControl1 As DevExpress.XtraEditors.SplitContainerControl
Friend WithEvents GridChat As DevExpress.XtraGrid.GridControl
Friend WithEvents ChatView As DevExpress.XtraGrid.Views.Tile.TileView
Friend WithEvents txtMessage As DevExpress.XtraEditors.MemoEdit
Friend WithEvents columnMessage As DevExpress.XtraGrid.Columns.TileViewColumn
Friend WithEvents columnUsername As DevExpress.XtraGrid.Columns.TileViewColumn
Friend WithEvents columnDate As DevExpress.XtraGrid.Columns.TileViewColumn
Friend WithEvents ChatSource As BindingSource
Friend WithEvents lookupConversations As LookupGrid.LookupControl2
Friend WithEvents LookupControl21View As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents btnSendMessage As DevExpress.XtraEditors.SimpleButton
Friend WithEvents RepositoryItemHyperLinkEdit1 As DevExpress.XtraEditors.Repository.RepositoryItemHyperLinkEdit
Friend WithEvents RepositoryItemHypertextLabel1 As DevExpress.XtraEditors.Repository.RepositoryItemHypertextLabel
Friend WithEvents txtMessage As TextBox
Friend WithEvents Panel1 As Panel
Friend WithEvents lblTitle As Label
End Class

View File

@@ -117,29 +117,42 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="lookupConversations.SelectedValues" mimetype="application/x-microsoft.net.object.binary.base64">
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="btnSendMessage.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAJoBbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1u
ZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0sIG1zY29ybGliLCBWZXJzaW9u
PTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQUB
AAAAMFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZwMAAAAGX2l0
ZW1zBV9zaXplCF92ZXJzaW9uBgAACAgCAAAACQMAAAAAAAAAAAAAABEDAAAAAAAAAAs=
</value>
</data>
<assembly alias="DevExpress.Data.v19.2" name="DevExpress.Data.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="btnSendMessage.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAALcBAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTmV4dCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIg
MzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KPC9zdHls
ZT4NCiAgPHBhdGggZD0iTTguOSw0LjFDOC40LDMuOCw4LDQuMSw4LDQuNnYyMC43YzAsMC42LDAuNCww
LjgsMC45LDAuNWwxNi44LTEwLjNjMC41LTAuMywwLjUtMC44LDAtMS4xTDguOSw0LjF6IiBjbGFzcz0i
Qmx1ZSIgLz4NCjwvc3ZnPgs=
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
AABJRU5ErkJggg==
</value>
</data>
<metadata name="ChatSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">

View File

@@ -4,7 +4,7 @@ Imports DigitalData.Modules.Logging
Public Class ChatControl
Private ReadOnly IdColumn As String = "GUID"
Private ReadOnly UsernameColumn As String = "USER_FROM"
Private ReadOnly IdentificationColumn As String = "USER_FROM"
Private ReadOnly MessageColumn As String = "MESSAGE_TEXT"
Private ReadOnly DateColumn As String = "ADDED_WHEN"
@@ -21,45 +21,76 @@ Public Class ChatControl
}
Public IDBObjectId As Long
Public ConnectionString As String
Public CurrentUser As String
Public ConnStringIDB As String
Public ConversationIdentification As String
Public Username As String
Public CurrentConversation As Long
Public Sub New()
InitializeComponent()
End Sub
Public Sub Init(LogConfig As LogConfig, ConnectionString As String, CurrentUser As String)
Public Sub Init(LogConfig As LogConfig, ConnectionStringIDB As String, ConversationIdentification As String, Username As String)
Me.LogConfig = LogConfig
Me.Logger = LogConfig.GetLogger()
Me.ConnectionString = ConnectionString
Me.CurrentUser = CurrentUser
Me.Db = New MSSQLServer(LogConfig, ConnectionString)
Me.ConnStringIDB = ConnectionStringIDB
Me.ConversationIdentification = ConversationIdentification
Me.Username = Username
Me.Db = New MSSQLServer(LogConfig, ConnStringIDB)
End Sub
Public Sub LoadConversations(IDBObjectId As Long)
Dim oSQL As String = $"SELECT * FROM VWIDB_CONVERSATION WHERE IDB_OBJ_ID = {IDBObjectId}"
Public Function GetConversations(IDBObjectId As Long)
Dim oSQL As String = $"SELECT * FROM VWIDB_CONVERSATION WHERE IDB_OBJ_ID = {IDBObjectId} ORDER BY CONVERSATION_ID DESC"
Dim oDatatable As DataTable = Db.GetDatatable(oSQL)
Dim oConversations As New List(Of String)
If Not IsNothing(oDatatable) Then
If oDatatable.Rows.Count = 1 Then
Dim oItem = oDatatable.Rows(0).Item("CONVERSATION_ID").ToString + "|" + oDatatable.Rows(0).Item("TITLE").ToString
oConversations.Insert(0, oItem)
CurrentConversation = oDatatable.Rows(0).Item("CONVERSATION_ID")
LoadConversation(CurrentConversation)
Else
For Each oROW As DataRow In oDatatable.Rows
Dim oItem = oROW.Item("CONVERSATION_ID").ToString + "|" + oROW.Item("TITLE").ToString
oConversations.Insert(0, oItem)
If oROW.Item("CONVERSATION_STATE") = "Started" Then
CurrentConversation = oROW.Item("CONVERSATION_ID")
LoadConversation(CurrentConversation)
End If
Next
End If
End If
Return oConversations
End Function
lookupConversations.DataSource = oDatatable
Private Sub tsCBConversations_SelectedIndexChanged(sender As Object, e As EventArgs)
'If tsCBConversations.SelectedIndex <> -1 Then
' Dim oValues As List(Of String) = tsCBConversations.Text.Split("|").ToList()
' CurrentConversation = oValues(0)
' LoadConversation(CurrentConversation)
'End If
End Sub
Public Sub LoadConversation(ConversationId As Long)
Dim oSQL As String = $"SELECT * FROM VWIDB_CONV_MESSAGES WHERE CONV_ID = {ConversationId} ORDER BY GUID"
Dim oDatatable As DataTable = Db.GetDatatable(oSQL)
BuildUsernameColorDict(oDatatable)
oSQL = $"SELECT * FROM VWIDB_CONVERSATION WHERE CONVERSATION_ID = {ConversationId}"
Dim oDatatable2 As DataTable = Db.GetDatatable(oSQL)
GridChat.DataSource = ChatSource
ChatSource.DataSource = oDatatable
lblTitle.Text = oDatatable2.Rows(0).Item("TITLE")
End Sub
Public Sub SendMessage(MessageText As String)
Public Sub NewMessage(MessageText As String)
Try
Dim oSQL As String = $"EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] {CurrentConversation},'{MessageText}', '{CurrentUser}'"
Dim oSQL As String = $"EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] {CurrentConversation},'{MessageText}', '{ConversationIdentification}'"
Dim oResult = Db.GetScalarValue(oSQL)
LoadConversation(CurrentConversation)
txtMessage.Text = String.Empty
ChatView.MoveLast()
Catch ex As Exception
Logger.Error(ex)
End Try
@@ -71,7 +102,7 @@ Public Class ChatControl
UsernameColorsDict.Clear()
Datatable.AsEnumerable().
Select(Function(Row) Row.Item(UsernameColumn)).
Select(Function(Row) Row.Item(IdentificationColumn)).
Distinct().ToList().
ForEach(Sub(Name)
UsernameColorsDict.Add(Name, UsernameColors.Item(oIndex))
@@ -81,9 +112,9 @@ Public Class ChatControl
Private Sub ChatView_CustomItemTemplate(sender As Object, e As TileViewCustomItemTemplateEventArgs) Handles ChatView.CustomItemTemplate
Dim oRow As DataRow = ChatView.GetDataRow(e.RowHandle)
Dim oUsername As String = oRow.Item(UsernameColumn)
Dim oUsername As String = oRow.Item(IdentificationColumn)
If oUsername = CurrentUser Then
If oUsername = ConversationIdentification Or oUsername = Username Then
e.Template = e.Templates.Item("ChatRight")
Else
e.Template = e.Templates.Item("ChatLeft")
@@ -93,33 +124,40 @@ Public Class ChatControl
Private Sub ChatView_ItemCustomize(sender As Object, e As TileViewItemCustomizeEventArgs) Handles ChatView.ItemCustomize
Dim oRow As DataRow = ChatView.GetDataRow(e.RowHandle)
Dim oUsername As String = oRow.Item(UsernameColumn)
Dim oUsername As String = oRow.Item(IdentificationColumn)
Dim oMessage As String = oRow.Item(MessageColumn)
Dim oColor As Color = UsernameColorsDict.Item(oUsername)
If oUsername = CurrentUser Then
If oUsername = ConversationIdentification Or oUsername = Username Then
e.Item.AppearanceItem.Normal.BackColor = Color.PaleTurquoise
End If
e.Item.AppearanceItem.Focused.BackColor = Color.Turquoise
e.Item.Item(UsernameColumn).Appearance.Normal.ForeColor = oColor
e.Item.Item(IdentificationColumn).Appearance.Normal.ForeColor = oColor
End Sub
Private Sub lookupConversations_SelectedValuesChanged(sender As Object, SelectedValues As List(Of String)) Handles lookupConversations.SelectedValuesChanged
If SelectedValues.Count > 0 Then
CurrentConversation = SelectedValues.First()
LoadConversation(CurrentConversation)
End If
End Sub
Private Sub txtMessage_KeyUp(sender As Object, e As KeyEventArgs) Handles txtMessage.KeyUp
If e.Control And e.KeyCode = Keys.Enter And txtMessage.Text.Count > 0 Then
SendMessage(txtMessage.Text)
End If
Private Sub txtMessage_KeyUp(sender As Object, e As KeyEventArgs)
End Sub
Private Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles btnSendMessage.Click
If txtMessage.Text.Count > 0 Then
SendMessage(txtMessage.Text)
NewMessage(txtMessage.Text)
End If
End Sub
Private Sub TextBox1_KeyUp(sender As Object, e As KeyEventArgs) Handles txtMessage.KeyUp
If e.Control And e.KeyCode = Keys.Enter And txtMessage.Text.Count > 0 Then
NewMessage(txtMessage.Text)
End If
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
End Class

View File

@@ -10,8 +10,9 @@
<AssemblyName>DigitalData.Controls.ChatControl</AssemblyName>
<FileAlignment>512</FileAlignment>
<MyType>Windows</MyType>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -49,6 +50,7 @@
<Reference Include="DevExpress.Data.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Printing.v19.2.Core, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Utils.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraLayout.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
@@ -153,5 +155,17 @@
<Name>Logging</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="Resources\crop.php.jpeg" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\Send_16x16.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\Action_Workflow_Activate.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\Action_Workflow_Deactivate.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
</Project>

View File

@@ -59,5 +59,45 @@ Namespace My.Resources
resourceCulture = value
End Set
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property Action_Workflow_Activate() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("Action_Workflow_Activate", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property Action_Workflow_Deactivate() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("Action_Workflow_Deactivate", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property crop_php() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("crop.php", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property Send_16x16() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("Send_16x16", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
End Module
End Namespace

View File

@@ -46,7 +46,7 @@
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
@@ -60,6 +60,7 @@
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
@@ -68,9 +69,10 @@
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
@@ -85,9 +87,10 @@
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
@@ -109,9 +112,22 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="crop.php" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\crop.php.jpeg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Send_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Send_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Action_Workflow_Activate" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Action_Workflow_Activate.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Action_Workflow_Deactivate" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Action_Workflow_Deactivate.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View File

@@ -1,3 +1,5 @@
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.LookUpEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.LookUpEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

Binary file not shown.

After

Width:  |  Height:  |  Size: 862 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 887 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 426 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB