KGamePopupItem Class Reference

QGraphicsItem capable of showing short popup messages which do not interrupt the gameplay. More...

#include <kgamepopupitem.h>

Collaboration diagram for KGamePopupItem:

Collaboration graph
[legend]

List of all members.

Public Types

enum  ReplaceMode { LeavePrevious, ReplacePrevious }
 Possible values for message showing mode in respect to a previous message. More...
enum  Sharpness { Square = 0, Sharp = 2, Soft = 5, Softest = 10 }
 Possible values for the popup angles sharpness. More...
enum  Position {
  TopLeft, TopRight, BottomLeft, BottomRight,
  Center
}
 The possible places in the scene where a message can be shown. More...
enum  HideType { InstantHide, AnimatedHide }
 Used to specify how to hide in forceHide() - instantly or animatedly. More...

Signals

void linkActivated (const QString &link)
 Emitted when user clicks on a link in item.
void linkHovered (const QString &link)
 Emitted when user hovers a link in item.
void hidden ()
 Emitted when the popup finishes hiding.

Public Member Functions

 KGamePopupItem (QGraphicsItem *parent=0)
 Constructs a message item.
 ~KGamePopupItem ()
 Destructs a message item.
void showMessage (const QString &text, Position pos, ReplaceMode mode=LeavePrevious)
 Shows the message: item will appear at specified place of the scene using simple animation Item will be automatically hidden after timeout set in setMessageTimeOut() passes If item is hovered with mouse it won't hide until user moves the mouse away.
void setMessageTimeout (int msec)
 Sets the amount of time the item will stay visible on screen before it goes away.
int messageTimeout () const
 
Returns:
timeout that is currently set

void setMessageOpacity (qreal opacity)
 Sets the message opacity from 0 (fully transparent) to 1 (fully opaque) For example 0.5 is half transparent It defaults to 1.0.
qreal messageOpacity () const
 
Returns:
current message opacity

void setMessageIcon (const QPixmap &pix)
 Sets custom pixmap to show instead of default icon on the left.
void forceHide (HideType type=AnimatedHide)
 Requests the item to be hidden immediately.
void setBackgroundBrush (const QBrush &brush)
 Sets brush used to paint item backgound By default system-default brush is used.
void setTextColor (const QColor &color)
 Sets default color for unformatted text By default system-default color is used.
virtual QRectF boundingRect () const
 
Returns:
the bounding rect of this item.

virtual void paint (QPainter *p, const QStyleOptionGraphicsItem *option, QWidget *widget)
 Paints item.
void setSharpness (Sharpness sharpness)
 Sets the popup angles sharpness.
Sharpness sharpness () const
 
Returns:
current popup angles sharpness


Detailed Description

QGraphicsItem capable of showing short popup messages which do not interrupt the gameplay.

Message can stay on screen for specified amount of time and automatically hide after (unless user hovers it with mouse).

Example of use:

 KGamePopupItem *messageItem = new KGamePopupItem();
 myGraphicsScene->addItem(messageItem);
 ...
 messageItem->setMessageTimeout( 3000 ); // 3 sec
 messageItem->showMessage("Hello, I'm a game message! How do you do?", BottomLeft);

Definition at line 43 of file kgamepopupitem.h.


Member Enumeration Documentation

enum KGamePopupItem::ReplaceMode

Possible values for message showing mode in respect to a previous message.

Enumerator:
LeavePrevious 
ReplacePrevious 

Definition at line 51 of file kgamepopupitem.h.

enum KGamePopupItem::Sharpness

Possible values for the popup angles sharpness.

Enumerator:
Square 
Sharp 
Soft 
Softest 

Definition at line 55 of file kgamepopupitem.h.

enum KGamePopupItem::Position

The possible places in the scene where a message can be shown.

Enumerator:
TopLeft 
TopRight 
BottomLeft 
BottomRight 
Center 

Definition at line 59 of file kgamepopupitem.h.

enum KGamePopupItem::HideType

Used to specify how to hide in forceHide() - instantly or animatedly.

Enumerator:
InstantHide 
AnimatedHide 

Definition at line 118 of file kgamepopupitem.h.


Constructor & Destructor Documentation

KGamePopupItem::KGamePopupItem ( QGraphicsItem *  parent = 0  ) 

Constructs a message item.

It is hidden by default.

Definition at line 132 of file kgamepopupitem.cpp.

References linkActivated(), linkHovered(), KGamePopupItemPrivate::m_brush, KGamePopupItemPrivate::m_textChildItem, KGamePopupItemPrivate::m_timeLine, KGamePopupItemPrivate::m_timer, setMessageIcon(), and TextItemWithOpacity::setTextColor().

Here is the call graph for this function:

KGamePopupItem::~KGamePopupItem (  ) 

Destructs a message item.

Definition at line 326 of file kgamepopupitem.cpp.


Member Function Documentation

void KGamePopupItem::showMessage ( const QString &  text,
Position  pos,
ReplaceMode  mode = LeavePrevious 
)

Shows the message: item will appear at specified place of the scene using simple animation Item will be automatically hidden after timeout set in setMessageTimeOut() passes If item is hovered with mouse it won't hide until user moves the mouse away.

Note that if pos == Center, message animation will be of fade in/out type, rather than slide in/out

Parameters:
text holds the message to show
pos position on the scene where the message will appear
mode how to handle an already shown message by this item: either leave it and ignore the new one or replace it

Definition at line 189 of file kgamepopupitem.cpp.

References forceHide(), InstantHide, KGamePopupItemPrivate::m_boundRect, KGamePopupItemPrivate::m_iconPix, KGamePopupItemPrivate::m_path, KGamePopupItemPrivate::m_position, KGamePopupItemPrivate::m_sharpness, KGamePopupItemPrivate::m_textChildItem, KGamePopupItemPrivate::m_timeLine, KGamePopupItemPrivate::m_timeout, KGamePopupItemPrivate::m_timer, KGamePopupItemPrivate::m_visibleSceneRect, and ReplacePrevious.

Here is the call graph for this function:

void KGamePopupItem::setMessageTimeout ( int  msec  ) 

Sets the amount of time the item will stay visible on screen before it goes away.

By default item is shown for 2000 msec If item is hovered with mouse it will hide only after user moves the mouse away

Parameters:
msec amount of time in milliseconds. if msec is 0, then message will stay visible until it gets explicitly hidden by forceHide()

Definition at line 310 of file kgamepopupitem.cpp.

References KGamePopupItemPrivate::m_timeout.

int KGamePopupItem::messageTimeout (  )  const

Returns:
timeout that is currently set

Definition at line 365 of file kgamepopupitem.cpp.

References KGamePopupItemPrivate::m_timeout.

void KGamePopupItem::setMessageOpacity ( qreal  opacity  ) 

Sets the message opacity from 0 (fully transparent) to 1 (fully opaque) For example 0.5 is half transparent It defaults to 1.0.

Definition at line 315 of file kgamepopupitem.cpp.

References KGamePopupItemPrivate::m_opacity, KGamePopupItemPrivate::m_textChildItem, and TextItemWithOpacity::setOpacity().

Here is the call graph for this function:

qreal KGamePopupItem::messageOpacity (  )  const

Returns:
current message opacity

Definition at line 392 of file kgamepopupitem.cpp.

References KGamePopupItemPrivate::m_opacity.

void KGamePopupItem::setMessageIcon ( const QPixmap &  pix  ) 

Sets custom pixmap to show instead of default icon on the left.

Definition at line 358 of file kgamepopupitem.cpp.

References KGamePopupItemPrivate::m_iconPix, and KGamePopupItemPrivate::m_textChildItem.

Referenced by KGamePopupItem().

void KGamePopupItem::forceHide ( HideType  type = AnimatedHide  ) 

Requests the item to be hidden immediately.

Definition at line 370 of file kgamepopupitem.cpp.

References AnimatedHide, hidden(), InstantHide, KGamePopupItemPrivate::m_hoveredByMouse, KGamePopupItemPrivate::m_timeLine, and KGamePopupItemPrivate::m_timer.

Referenced by showMessage().

void KGamePopupItem::setBackgroundBrush ( const QBrush &  brush  ) 

Sets brush used to paint item backgound By default system-default brush is used.

See also:
KColorScheme

Definition at line 397 of file kgamepopupitem.cpp.

References KGamePopupItemPrivate::m_brush.

void KGamePopupItem::setTextColor ( const QColor &  color  ) 

Sets default color for unformatted text By default system-default color is used.

See also:
KColorScheme

Definition at line 402 of file kgamepopupitem.cpp.

References KGamePopupItemPrivate::m_brush, KGamePopupItemPrivate::m_textChildItem, and TextItemWithOpacity::setTextColor().

Here is the call graph for this function:

QRectF KGamePopupItem::boundingRect (  )  const [virtual]

Returns:
the bounding rect of this item.

Reimplemented from QGraphicsItem

Definition at line 321 of file kgamepopupitem.cpp.

References KGamePopupItemPrivate::m_boundRect.

void KGamePopupItem::paint ( QPainter *  p,
const QStyleOptionGraphicsItem *  option,
QWidget *  widget 
) [virtual]

Paints item.

Reimplemented from QGraphicsItem

Definition at line 167 of file kgamepopupitem.cpp.

References KGamePopupItemPrivate::m_animOpacity, KGamePopupItemPrivate::m_boundRect, KGamePopupItemPrivate::m_brush, KGamePopupItemPrivate::m_iconPix, KGamePopupItemPrivate::m_opacity, and KGamePopupItemPrivate::m_path.

void KGamePopupItem::setSharpness ( Sharpness  sharpness  ) 

Sets the popup angles sharpness.

Definition at line 417 of file kgamepopupitem.cpp.

References KGamePopupItemPrivate::m_sharpness.

KGamePopupItem::Sharpness KGamePopupItem::sharpness (  )  const

Returns:
current popup angles sharpness

Definition at line 422 of file kgamepopupitem.cpp.

References KGamePopupItemPrivate::m_sharpness.

void KGamePopupItem::linkActivated ( const QString &  link  )  [signal]

Emitted when user clicks on a link in item.

Referenced by KGamePopupItem().

void KGamePopupItem::linkHovered ( const QString &  link  )  [signal]

Emitted when user hovers a link in item.

Referenced by KGamePopupItem().

void KGamePopupItem::hidden (  )  [signal]

Emitted when the popup finishes hiding.

This includes hiding caused by both timeouts and mouse clicks.

Referenced by forceHide().


The documentation for this class was generated from the following files:
Generated on Sun Mar 16 08:03:20 2008 for Libkdegames by  doxygen 1.5.3