VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
chatMessagesWidget.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2024 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
6 #pragma once
7 
8 #if !defined(Q_MOC_RUN)
9 
10 
14 
15 #endif
16 
17 #include <vlutil/vlString.h>
18 #include <QtWidgets/QWidget>
19 
20 namespace makVrv
21 {
22  class DtDe;
23 }
24 
25 namespace makVrfEvents
26 {
27  class DtChatMessageEvent;
28 }
29 
30 class QTextEdit;
31 class QLineEdit;
32 class QHBoxLayout;
33 class QGridLayout;
34 class QLabel;
35 class QToolButton;
36 class QPushButton;
37 
38 namespace makVrf
39 {
40  class DtChatMessageChannel;
41 
44  {
45 
46  Q_OBJECT;
47 
48  public:
50  DtChatMessagesWidget(makVrv::DtDe& de, QWidget* parent, Qt::WindowFlags f = Qt::Widget);
51 
53  virtual ~DtChatMessagesWidget() override;
54 
55  virtual void clearMessages();
56 
57  virtual int forceType() const;
58  virtual DtString channel() const;
59 
61  virtual void addChannel(int force, const DtString& channel);
62  virtual void addMessage(const QString&);
63 
64  virtual void setUsername(const QString&);
65  virtual const QString& username() const;
66 
67  virtual void addChatMessage(const makVrfEvents::DtChatMessageEvent& evt);
68 
69  virtual void init();
70 
71  protected slots:
72  virtual void sendChatMessage();
73  virtual void changeUserName();
74  virtual void clearChatMessages();
75 
76  protected:
77  virtual void filterChanged();
78  virtual QString formatMessage(const makVrfEvents::DtChatMessageEvent&) const;
79  virtual void updateWindowTitle();
80 
81  protected:
84 
85  public:
86  QHBoxLayout* myUsernameLayout;
88  QString myUsername;
91 
92  QHBoxLayout* myForceLayout;
94  QTextEdit* myChatMessages;
98  QGridLayout* myChatMessageLayout;
101  };
102 
105  {
106 
107  public:
109  static DtChatMessagesWidgetCreator& instance(makVrv::DtDe& de);
110 
112  static void registerInstance(makVrv::DtDe& de,DtChatMessagesWidgetCreator* anInstance);
113 
115  virtual DtChatMessagesWidget* create(makVrv::DtDe& de, QWidget * parent = NULL,
116  const Qt::WindowFlags& flags = 0);
117  };
118 }
QHBoxLayout * myChatMessageButtonLayout
Definition: chatMessagesWidget.h:93
QToolButton * myChangeUsername
Definition: chatMessagesWidget.h:89
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
QPushButton * mySendButton
Definition: chatMessagesWidget.h:90
A widget for displaying current chat messages sent from other front-ends or objects via sim command...
Definition: chatMessagesWidget.h:43
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
QToolButton * myClearChatMessages
Definition: chatMessagesWidget.h:100
QLabel * myChannelLabel
Definition: chatMessagesWidget.h:96
makVrv::DtDe & myDe
Definition: chatMessagesWidget.h:82
Simple line text entry widget that will allow the user to enter a heading value.
Definition: chatMessageChannel.h:22
QHBoxLayout * myUsernameLayout
Definition: chatMessagesWidget.h:86
Contains makVrv::DtVirtualBaseClass class.
QLabel * myChatMessageLabel
Definition: chatMessagesWidget.h:99
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
QLabel * myUsernameLabel
Definition: chatMessagesWidget.h:87
QGridLayout * myChatMessageLayout
Definition: chatMessagesWidget.h:98
Base class to provide boost signal/slot management.
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtChatMessageChannel * myChatMessageChannel
Definition: chatMessagesWidget.h:97
When sending, force type of -1 means to send to all forces and an empty channel string means to send ...
Definition: chatMessageEvent.h:14
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
QTextEdit * myChatMessages
Definition: chatMessagesWidget.h:94
Chat Messages Widget creator.
Definition: chatMessagesWidget.h:104
QString myUsername
Definition: chatMessagesWidget.h:88
makVrv::DtSignalConnectionManager myConnections
Definition: chatMessagesWidget.h:83
QHBoxLayout * myForceLayout
Definition: chatMessagesWidget.h:92
QLineEdit * myChatMessage
Definition: chatMessagesWidget.h:95

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)