int myAlign;
};
+/*!
+ Constructor
+*/
QtxPopupMenu::TitleMenuItem::TitleMenuItem( const QString& txt, const QIconSet& ico, const int align )
: QCustomMenuItem(),
myText( txt ),
{
}
+/*!
+ Destructor
+*/
QtxPopupMenu::TitleMenuItem::~TitleMenuItem()
{
}
+/*!
+ \return TRUE if this item wants to span the entire popup menu width
+*/
bool QtxPopupMenu::TitleMenuItem::fullSpan() const
{
return true;
}
+/*!
+ \return TRUE if this item is just a separator
+*/
bool QtxPopupMenu::TitleMenuItem::isSeparator() const
{
return false;
}
+/*!
+ Changes font of item
+ \param font - new font
+*/
void QtxPopupMenu::TitleMenuItem::setFont( const QFont& font )
{
myFont = font;
myFont.setBold( true );
}
+/*!
+ Draws item
+*/
void QtxPopupMenu::TitleMenuItem::paint( QPainter* p, const QColorGroup& cg,
bool act, bool enabled, int x, int y, int w, int h )
{
p->setFont( f );
}
+/*!
+ \return the recommended size for item
+*/
QSize QtxPopupMenu::TitleMenuItem::sizeHint()
{
QFontMetrics fM( myFont );
}
/*!
- Class: QtxPopupMenu [Public]
- Descr: Popup menu item with title.
+ Constructor
*/
-
QtxPopupMenu::QtxPopupMenu( QWidget* parent, const char* name )
: QPopupMenu( parent, name ),
myId( -1 ),
{
}
+/*!
+ Destructor
+*/
QtxPopupMenu::~QtxPopupMenu()
{
}
+/*!
+ \return popup menu title
+*/
QString QtxPopupMenu::titleText() const
{
return myText;
}
+/*!
+ \return popup menu icon
+*/
QIconSet QtxPopupMenu::titleIcon() const
{
return myIcon;
}
+/*!
+ \return popup menu title policy
+*/
int QtxPopupMenu::titlePolicy() const
{
return myPolicy;
}
+/*!
+ \return popup menu title alignment
+*/
int QtxPopupMenu::titleAlignment() const
{
return myAlign;
}
+/*!
+ Changes title text
+ \param txt - new text
+*/
void QtxPopupMenu::setTitleText( const QString& txt )
{
if ( myText == txt )
updateTitle();
}
+/*!
+ Changes title icon
+ \param icon - new icon
+*/
void QtxPopupMenu::setTitleIcon( const QIconSet& ico )
{
myIcon = ico;
updateTitle();
}
+/*!
+ Changes title policy
+ \param p - new policy
+*/
void QtxPopupMenu::setTitlePolicy( const int p )
{
if ( myPolicy == p )
updateTitle();
}
+/*!
+ Changes title alignment
+ \param a - new alignment
+*/
void QtxPopupMenu::setTitleAlignment( const int a )
{
if ( myAlign == a )
updateTitle();
}
+/*!
+ Shows menu
+*/
void QtxPopupMenu::show()
{
insertTitle();
QPopupMenu::show();
}
+/*!
+ Hides menu
+*/
void QtxPopupMenu::hide()
{
QPopupMenu::hide();
removeTitle();
}
+/*!
+ Creates title item
+ \param txt - item text
+ \param icon - item icon
+ \param align - item alignment
+*/
QtxPopupMenu::TitleMenuItem* QtxPopupMenu::createTitleItem( const QString& txt, const QIconSet& ico,
const int align ) const
{
return new TitleMenuItem( txt, ico, align );
}
+/*!
+ Inserts title item to popup menu
+*/
void QtxPopupMenu::insertTitle()
{
if ( myId != -1 || titlePolicy() == TitleOff ||
setItemEnabled( myId, false );
}
+/*!
+ Removes title item from popup menu
+*/
void QtxPopupMenu::removeTitle()
{
if ( myId == -1 )
myId = -1;
}
+/*!
+ Updates title item
+*/
void QtxPopupMenu::updateTitle()
{
if ( myId != -1 )