Freeciv21
Develop your civilization from humble roots to a global empire
messagewin.h
Go to the documentation of this file.
1 /**************************************************************************
2  Copyright (c) 1996-2023 Freeciv21 and Freeciv contributors. This file is
3  part of Freeciv21. Freeciv21 is free software: you can redistribute it
4  and/or modify it under the terms of the GNU General Public License as
5  published by the Free Software Foundation, either version 3 of the
6  License, or (at your option) any later version. You should have received
7  a copy of the GNU General Public License along with Freeciv21. If not,
8  see https://www.gnu.org/licenses/.
9 **************************************************************************/
10 #pragma once
11 
12 // qt-client is one true king
13 #include "widgets/decorations.h"
14 
15 class QEvent;
16 class QGridLayout;
17 class QItemSelection;
18 class QListWidget;
19 class QMouseEvent;
20 class QObject;
21 class QPaintEvent;
22 class QPainter;
23 class QPushButton;
24 class QPixmap;
25 class QResizeEvent;
26 class chatwdg;
27 
28 /***************************************************************************
29  Class representing message output
30 ***************************************************************************/
32  Q_OBJECT
33 
34 public:
35  message_widget(QWidget *parent);
36  void msg_update();
37  void clr();
38  void msg(const struct message *pmsg);
39 
40 private:
41  void update_menu() override {}
42  QListWidget *mesg_table;
43  QGridLayout *layout;
44 
45 protected:
46  void enterEvent(QEvent *event) override;
47  void leaveEvent(QEvent *event) override;
48  void paintEvent(QPaintEvent *event) override;
49 
50 public slots:
51  void item_selected(const QItemSelection &sl, const QItemSelection &ds);
52 
53 signals:
54  void add_msg();
55 
56 private:
57  static void scroll_to_bottom(void *);
58 };
59 
60 void real_meswin_dialog_update(void *unused);
QGridLayout * layout
Definition: messagewin.h:43
void msg(const struct message *pmsg)
Adds news message to mesg_table.
Definition: messagewin.cpp:142
void paintEvent(QPaintEvent *event) override
Paint event for message_widget.
Definition: messagewin.cpp:126
static void scroll_to_bottom(void *)
Definition: messagewin.cpp:188
message_widget(QWidget *parent)
message_widget constructor
Definition: messagewin.cpp:34
QListWidget * mesg_table
Definition: messagewin.h:42
void item_selected(const QItemSelection &sl, const QItemSelection &ds)
Slot executed when selection on meg_table has changed.
Definition: messagewin.cpp:66
void msg_update()
Updates mesg_table painting.
Definition: messagewin.cpp:162
void leaveEvent(QEvent *event) override
Mouse left message_widget.
Definition: messagewin.cpp:118
void clr()
Clears and removes mesg_table all items.
Definition: messagewin.cpp:137
void enterEvent(QEvent *event) override
Mouse entered message_widget.
Definition: messagewin.cpp:110
void update_menu() override
Definition: messagewin.h:41
enum event_type event
Definition: events.cpp:68
void real_meswin_dialog_update(void *unused)
Do the work of updating (populating) the message dialog.
Definition: messagewin.cpp:196