libkdegames Library API Documentation

kchatbase.h

00001 /* 00002 This file is part of the KDE games library 00003 Copyright (C) 2001 Andreas Beckermann (b_mann@gmx.de) 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Library General Public 00007 License version 2 as published by the Free Software Foundation. 00008 00009 This library is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 Library General Public License for more details. 00013 00014 You should have received a copy of the GNU Library General Public License 00015 along with this library; see the file COPYING.LIB. If not, write to 00016 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00017 Boston, MA 02111-1307, USA. 00018 */ 00019 #ifndef __KCHATBASE_H__ 00020 #define __KCHATBASE_H__ 00021 00022 #include <qframe.h> 00023 #include <qstring.h> 00024 #include <qlistbox.h> 00025 00026 #include <kglobalsettings.h> 00027 00028 class QListBoxItem; 00029 00030 class KConfig; 00031 00032 00033 class KChatBaseTextPrivate; 00034 00049 class KChatBaseText : public QListBoxText 00050 { 00051 public: 00052 00056 KChatBaseText(const QString& player, const QString& text); 00057 00061 KChatBaseText(const QString& text); 00062 00066 virtual ~KChatBaseText(); 00067 00075 void setName(const QString& name); 00076 00084 void setMessage(const QString& message); 00085 00090 const QString& name() const; 00091 00096 const QString& message() const; 00097 00103 QFont nameFont() const; 00104 00110 QFont messageFont() const; 00111 00119 void setNameFont(const QFont* font); 00120 00128 void setMessageFont(const QFont* font); 00129 00132 virtual int width(QListBox* ) const; 00133 00136 virtual int height(QListBox* ) const; 00137 00138 protected: 00141 virtual void paint(QPainter*); 00142 00143 private: 00144 void init(); 00145 00146 private: 00147 KChatBaseTextPrivate* d; 00148 }; 00149 00150 00151 class KChatBasePrivate; 00152 00184 class KChatBase : public QFrame 00185 { 00186 Q_OBJECT 00187 public: 00194 KChatBase(QWidget* parent, bool noComboBox = false); 00195 00201 virtual ~KChatBase(); 00202 00203 enum SendingIds { 00204 SendToAll = 0 00205 }; 00206 00212 virtual const QString& fromName() const = 0; 00213 00225 bool addSendingEntry(const QString& text, int id); 00226 00238 bool insertSendingEntry(const QString& text, int id, int index = -1); 00239 00245 void changeSendingEntry(const QString& text, int id); 00246 00251 void setSendingEntry(int id); 00252 00259 void removeSendingEntry(int id); 00260 00268 int sendingEntry() const; 00269 00273 int findIndex(int id) const; 00274 00279 int nextId() const; 00280 00287 virtual bool acceptMessage() const; 00288 00292 void setCompletionMode(KGlobalSettings::Completion mode); 00293 00298 void setNameFont(const QFont& font); 00299 00304 void setMessageFont(const QFont& font); 00305 00312 void setBothFont(const QFont& font); 00313 00318 void setSystemNameFont(const QFont& font); 00319 00324 void setSystemMessageFont(const QFont& font); 00325 00330 void setSystemBothFont(const QFont& font); 00331 00339 const QFont& nameFont() const; 00340 00348 const QFont& messageFont() const; 00349 00354 const QFont& systemNameFont() const; 00355 00360 const QFont& systemMessageFont() const; 00361 00371 virtual void saveConfig(KConfig* conf = 0); 00372 00378 virtual void readConfig(KConfig* conf = 0); 00379 00387 void setMaxItems(int maxItems); 00388 00392 void clear(); 00393 00398 int maxItems() const; 00399 00400 00401 public slots: 00413 virtual void addMessage(const QString& fromName, const QString& text); 00414 00422 virtual void addSystemMessage(const QString& fromName, const QString& text); 00423 00434 virtual void addItem(const QListBoxItem* item); 00435 00436 00441 void slotClear(); 00442 00447 void setAcceptMessage(bool a); 00448 00449 signals: 00454 void rightButtonClicked(QListBoxItem*, const QPoint&); 00455 00456 protected: 00468 virtual void returnPressed(const QString& text) = 0; 00469 00477 virtual QString comboBoxItem(const QString& name) const; 00478 00485 virtual QListBoxItem* layoutMessage(const QString& fromName, const QString& text); 00486 00494 virtual QListBoxItem* layoutSystemMessage(const QString& fromName, const QString& text); 00495 00496 private slots: 00502 void slotReturnPressed(const QString&); 00503 00504 private: 00505 void init(bool noComboBox); 00506 00507 KChatBasePrivate* d; 00508 }; 00509 00510 #endif
KDE Logo
This file is part of the documentation for libkdegames Library Version 3.2.3.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Sep 21 12:08:02 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003