KChatBase Class Reference
The base class for chat widgets. More...
#include <kchatbase.h>
Inheritance diagram for KChatBase:


Public Types | |
enum | SendingIds { SendToAll = 0 } |
Public Slots | |
virtual void | addMessage (const QString &fromName, const QString &text) |
virtual void | addSystemMessage (const QString &fromName, const QString &text) |
virtual void | addItem (const QListBoxItem *item) |
void | slotClear () |
void | setAcceptMessage (bool a) |
Signals | |
void | rightButtonClicked (QListBoxItem *, const QPoint &) |
Public Member Functions | |
KChatBase (QWidget *parent, bool noComboBox=false) | |
virtual | ~KChatBase () |
virtual const QString & | fromName () const =0 |
bool | addSendingEntry (const QString &text, int id) |
bool | insertSendingEntry (const QString &text, int id, int index=-1) |
void | changeSendingEntry (const QString &text, int id) |
void | setSendingEntry (int id) |
void | removeSendingEntry (int id) |
int | sendingEntry () const |
int | findIndex (int id) const |
int | nextId () const |
virtual bool | acceptMessage () const |
void | setCompletionMode (KGlobalSettings::Completion mode) |
void | setNameFont (const QFont &font) |
void | setMessageFont (const QFont &font) |
void | setBothFont (const QFont &font) |
void | setSystemNameFont (const QFont &font) |
void | setSystemMessageFont (const QFont &font) |
void | setSystemBothFont (const QFont &font) |
const QFont & | nameFont () const |
const QFont & | messageFont () const |
const QFont & | systemNameFont () const |
const QFont & | systemMessageFont () const |
virtual void | saveConfig (KConfig *conf=0) |
virtual void | readConfig (KConfig *conf=0) |
void | setMaxItems (int maxItems) |
void | clear () |
int | maxItems () const |
Protected Member Functions | |
virtual void | returnPressed (const QString &text)=0 |
virtual QString | comboBoxItem (const QString &name) const |
virtual QListBoxItem * | layoutMessage (const QString &fromName, const QString &text) |
virtual QListBoxItem * | layoutSystemMessage (const QString &fromName, const QString &text) |
Detailed Description
The base class for chat widgets.This is the base class for both KChat and KGameChat. KGameChat is the class you want to use if you write a KGame based game as it will do most things for you. KChat is more or less the same but not KGame dependant
KChatBase provides a complete chat widget, featuring different sending means (e.g. "send to all", "send to player1", "send to group2" and so on - see addSendingEntry). It also provides full auto-completion capabilities (see KCompletion and KLineEdit) which defaults to disabled. The user can change this by right-clicking on the KLineEdit widget and selecting the desired behaviour. You can also change this manually by calling setCompletionMode.
To make KChatBase useful you have to overwrite at least returnPressed. Here you should send the message to all of your clients (or just some of them, depending on sendingEntry).
To add a message just call addMessage with the nickname of the player who sent the message and the message itself. If you don't want to use layoutMessage by any reason you can also call addItem directly. But you should better replace layoutMessage instead.
You probably don't want to use the abstract class KChatBase directly but use one of the derived classess KChat or KGameChat. The latter is the widget of choice if you develop a KGame application as you don't have to do anything but providing a KGame object.
- Author:
- Andreas Beckermann <b_mann@gmx.de>
Definition at line 184 of file kchatbase.h.
Constructor & Destructor Documentation
|
Definition at line 185 of file kchatbase.cpp. |
|
Destruct the KChatBase object. Also calls saveConfig Definition at line 190 of file kchatbase.cpp. References saveConfig(). |
Member Function Documentation
|
|
|
Adds a new entry in the combo box. The default is "send to all players" only. This function is provided for convenience. You can also call inserSendingEntry with index = -1. See also nextId!
Definition at line 250 of file kchatbase.cpp. References insertSendingEntry(). Referenced by KGameChat::setFromPlayer(). |
|
Inserts a new entry in the combo box.
Definition at line 259 of file kchatbase.cpp. Referenced by addSendingEntry(). |
|
This changes a combo box entry.
Definition at line 306 of file kchatbase.cpp. References findIndex(). Referenced by KGameChat::setFromPlayer(). |
|
This selects a combo box entry.
Definition at line 316 of file kchatbase.cpp. References findIndex(). |
|
Removes the entry with the ID id from the combo box. Note that id is _not_ the index of the entry!
Definition at line 296 of file kchatbase.cpp. References findIndex(). Referenced by KGameChat::setFromPlayer(), and KGameChat::slotUnsetKGame(). |
|
Definition at line 282 of file kchatbase.cpp. Referenced by KGameChat::returnPressed(). |
|
Definition at line 325 of file kchatbase.cpp. Referenced by changeSendingEntry(), removeSendingEntry(), and setSendingEntry(). |
|
Definition at line 330 of file kchatbase.cpp. Referenced by KGameChat::setFromPlayer(). |
|
Definition at line 244 of file kchatbase.cpp. |
|
See KLineEdit::setCompletionMode.
Definition at line 417 of file kchatbase.cpp. |
|
Set the font that used used for the name part of a message. See also nameFont and setBothFont Definition at line 420 of file kchatbase.cpp. Referenced by readConfig(), and setBothFont(). |
|
Set the font that used used for the message part of a message.
Definition at line 426 of file kchatbase.cpp. Referenced by readConfig(), and setBothFont(). |
|
This sets both - nameFont and messageFont to font. You probably want to use this if you don't wish to distinguish between these parts of a message.
Definition at line 432 of file kchatbase.cpp. References setMessageFont(), and setNameFont(). |
|
Same as setNameFont but applies only to system messages.
Definition at line 444 of file kchatbase.cpp. Referenced by readConfig(), and setSystemBothFont(). |
|
Same as setMessageFont but applies only to system messages.
Definition at line 450 of file kchatbase.cpp. Referenced by readConfig(), and setSystemBothFont(). |
|
Same as setBothFont but applies only to system messages.
Definition at line 456 of file kchatbase.cpp. References setSystemMessageFont(), and setSystemNameFont(). |
|
This font should be used for the name (the "from: " part) of a message. layoutMessage uses this to set the font using KChatBaseText::setNameFont but if you want to overwrite layoutMessage you should do this yourself.
Definition at line 438 of file kchatbase.cpp. Referenced by saveConfig(). |
|
This font should be used for a message. layoutMessage sets the font of a message using KChatBaseText::setMessageFont but if ypu replace layoutMessage with your own function you should use messageFont() yourself.
Definition at line 441 of file kchatbase.cpp. Referenced by saveConfig(). |
|
Same as systemNameFont but applies only to system messages.
Definition at line 462 of file kchatbase.cpp. Referenced by saveConfig(). |
|
Same as systemMessageFont but applies only to system messages.
Definition at line 465 of file kchatbase.cpp. Referenced by saveConfig(). |
|
Save the configuration of the dialog to a KConfig object. If the supplied KConfig pointer is NULL then kapp->config() is used instead (and the group is changed to "KChatBase") butr the current group is restored at the end.
Definition at line 468 of file kchatbase.cpp. References maxItems(), messageFont(), nameFont(), systemMessageFont(), and systemNameFont(). Referenced by ~KChatBase(). |
|
Read the configuration from a KConfig object. If the pointer is NULL kapp->config() is used and the group is changed to "KChatBase". The current KConfig::group is restored after this call. Definition at line 488 of file kchatbase.cpp. References setMaxItems(), setMessageFont(), setNameFont(), setSystemMessageFont(), and setSystemNameFont(). |
|
Set the maximum number of items in the list. If the number of item exceeds the maximum as many items are deleted (oldest first) as necessary. The number of items will never exceed this value.
Definition at line 513 of file kchatbase.cpp. References clear(). Referenced by readConfig(). |
|
Clear all messages in the list.
Definition at line 508 of file kchatbase.cpp. Referenced by setMaxItems(). |
|
Definition at line 526 of file kchatbase.cpp. Referenced by addItem(), and saveConfig(). |
|
Add a text in the listbox. See also signalSendMessage() Maybe you want to replace this with a function that creates a nicer text than "fromName: text" Update: the function layoutMessage is called by this now. This means that you will get user defined outlook on the messages :-)
Reimplemented in KGameChat. Definition at line 349 of file kchatbase.cpp. References addItem(), and layoutMessage(). Referenced by KGameChat::addMessage(), and KChat::returnPressed(). |
|
This works just like addMessage but adds a system message. layoutSystemMessage is used to generate the displayed item. System messages will have a different look than player messages. You may wish to use this to display status information from your game. Definition at line 355 of file kchatbase.cpp. References addItem(), and layoutSystemMessage(). |
|
This member function is mainly internally used to add a message. It is called by addMessage which creates a single text from a player name and a text. You will hardly ever use this - but if you need it it will be here ;-) But you may want to replace this in a derived class to create a non-default (maybe nicer ;-) ) behaviour
Definition at line 339 of file kchatbase.cpp. References maxItems(). Referenced by addMessage(), and addSystemMessage(). |
|
This clears all messages in the view. Note that only the messages are cleared, not the sender names in the combo box! Definition at line 412 of file kchatbase.cpp. |
|
Definition at line 247 of file kchatbase.cpp. |
|
Emitted when the user right-clicks on a list item.
|
|
This is called whenever the user pushed return ie wants to send a message. Note that you MUST add the message to the widget when this function is called as it has already been added to the KCompletion object of the KLineEdit widget! Must be implemented in derived classes
|
|
Replace to customise the combo box. Default: i18n("Send to 1).arg(name)
Definition at line 407 of file kchatbase.cpp. |
|
Create a QListBoxItem for this message. This function is not yet written usefully - currently just a QListBoxTex object is created which shows the message in this format: "fromName: text". This should fit most peoples needs but needs further improvements. Definition at line 360 of file kchatbase.cpp. References KChatBaseText::setMessageFont(), and KChatBaseText::setNameFont(). Referenced by addMessage(). |
|
Create a QListBoxItem for this message. This does the same as layoutMessage but generates a system message. You might want to use such a message to display e.g. status information from your game. The default implementation just prepends "--- ". Definition at line 382 of file kchatbase.cpp. References KChatBaseText::setMessageFont(), and KChatBaseText::setNameFont(). Referenced by addSystemMessage(). |
The documentation for this class was generated from the following files: