📄 ktoolbar.cpp
字号:
void KToolBar::ButtonClicked( int id ){ emit clicked( id );}void KToolBar::ButtonDblClicked( int id ){ emit doubleClicked( id );}void KToolBar::ButtonPressed( int id ){ emit pressed( id );}void KToolBar::ButtonReleased( int id ){ emit released( id );}void KToolBar::ButtonToggled( int id ){ emit toggled( id );}void KToolBar::ButtonHighlighted(int id, bool on ){ emit highlighted(id, on);} /********************\ * * * I N T E R F A C E * * * \********************//***** BUTTONS *****//// Inserts a button.int KToolBar::insertButton( const QPixmap& pixmap, int id, bool enabled, const char *_text, int index ){ KToolBarButton *button = new KToolBarButton( pixmap, id, this, 0L, item_size, _text); KToolBarItem *item = new KToolBarItem(button, ITEM_BUTTON, id, true); if ( index == -1 ) items.append( item ); else items.insert( index, item ); connect(button, SIGNAL(clicked(int)), this, SLOT(ButtonClicked(int))); connect(button, SIGNAL(doubleClicked(int)), this, SLOT(ButtonDblClicked(int))); connect(button, SIGNAL(released(int)), this, SLOT(ButtonReleased(int))); connect(button, SIGNAL(pressed(int)), this, SLOT(ButtonPressed(int))); connect(button, SIGNAL(highlighted(int, bool)), this, SLOT(ButtonHighlighted(int, bool))); item->setEnabled( enabled ); item->show(); if (position == Floating) updateRects( true ); else if (isVisible()) emit (moved(position)); return items.at();}/// Inserts a button with popup.int KToolBar::insertButton( const QPixmap& pixmap, int id, QPopupMenu *_popup, bool enabled, const char *_text, int index){ KToolBarButton *button = new KToolBarButton( pixmap, id, this, 0L, item_size, _text); KToolBarItem *item = new KToolBarItem(button, ITEM_BUTTON, id, true); button->setPopup(_popup); if ( index == -1 ) items.append( item ); else items.insert( index, item ); item->setEnabled( enabled ); item->show(); connect(button, SIGNAL(clicked(int)), this, SLOT(ButtonClicked(int))); connect(button, SIGNAL(doubleClicked(int)), this, SLOT(ButtonDblClicked(int))); connect(button, SIGNAL(released(int)), this, SLOT(ButtonReleased(int))); connect(button, SIGNAL(pressed(int)), this, SLOT(ButtonPressed(int))); connect(button, SIGNAL(highlighted(int, bool)), this, SLOT(ButtonHighlighted(int, bool))); if (position == Floating) updateRects( true ); else if (isVisible()) emit (moved(position)); return items.at();}/// Inserts a button with connection.int KToolBar::insertButton( const QPixmap& pixmap, int id, const char *signal, const QObject *receiver, const char *slot, bool enabled, const char *_text, int index ){ KToolBarButton *button = new KToolBarButton( pixmap, id, this, 0L, item_size, _text); KToolBarItem *item = new KToolBarItem(button, ITEM_BUTTON, id, true); if ( index == -1 ) items.append( item ); else items.insert( index, item ); connect(button, SIGNAL(clicked(int)), this, SLOT(ButtonClicked(int))); connect(button, SIGNAL(doubleClicked(int)), this, SLOT(ButtonDblClicked(int))); connect(button, SIGNAL(released(int)), this, SLOT(ButtonReleased(int))); connect(button, SIGNAL(pressed(int)), this, SLOT(ButtonPressed(int))); connect(button, SIGNAL(highlighted(int, bool)), this, SLOT(ButtonHighlighted(int, bool))); connect( button, signal, receiver, slot ); item->setEnabled( enabled ); item->show(); if (position == Floating) updateRects( true ); else if (isVisible()) emit (moved(position)); return items.at();}/********* SEPARATOR *********//// Inserts separatorint KToolBar::insertSeparator( int index ){ KToolBarButton *separ = new KToolBarButton( this ); KToolBarItem *item = new KToolBarItem(separ, ITEM_BUTTON, -1, true); if ( index == -1 ) items.append( item ); else items.insert( index, item ); if (position == Floating) updateRects( true ); else if (isVisible()) emit (moved(position)); return items.at();}/********* Frame **********//// inserts QFrameint KToolBar::insertFrame (int _id, int _size, int _index){ debug ("insertFrame is deprecated. use insertWidget"); QFrame *frame; bool mine = false; // ok I'll do it for you; frame = new QFrame (this); mine = true; KToolBarItem *item = new KToolBarItem(frame, ITEM_FRAME, _id, mine); if (_index == -1) items.append (item); else items.insert(_index, item); item-> resize (_size, item_size-2); item->show(); if (position == Floating) updateRects( true ); else if (isVisible()) emit (moved(position)); return items.at();} /* A poem all in G-s! No, any widget */int KToolBar::insertWidget(int _id, int _size, QWidget *_widget, int _index ){ KToolBarItem *item = new KToolBarItem(_widget, ITEM_FRAME, _id, false); if (_index == -1) items.append (item); else items.insert(_index, item); item-> resize (_size, item_size-2); item->show(); if (position == Floating) updateRects( true ); else if (isVisible()) emit (moved(position)); return items.at();}/************** LINE EDITOR **************//// Inserts a KLined. KLined is derived from QLineEdit and has another signal, tabPressed,// for completions.int KToolBar::insertLined(const char *text, int id, const char *signal, const QObject *receiver, const char *slot, bool enabled, const char *tooltiptext, int size, int index){ KLined *lined = new KLined (this, 0); KToolBarItem *item = new KToolBarItem(lined, ITEM_LINED, id, true); if (index == -1) items.append (item); else items.insert(index, item); if (tooltiptext) QToolTip::add( lined, tooltiptext ); connect( lined, signal, receiver, slot ); lined->setText(text); item->resize(size, item_size-2); item->setEnabled(enabled); item->show(); if (position == Floating) updateRects( true ); else if (isVisible()) emit (moved(position)); return items.at();}/************** COMBO BOX **************//// Inserts comboBox with QStrListint KToolBar::insertCombo (QStrList *list, int id, bool writable, const char *signal, QObject *receiver, const char *slot, bool enabled, const char *tooltiptext, int size, int index, KCombo::Policy policy){ KCombo *combo = new KCombo (writable, this); KToolBarItem *item = new KToolBarItem(combo, ITEM_COMBO, id, true); if (index == -1) items.append (item); else items.insert (index, item); combo->insertStrList (list); combo->setInsertionPolicy(policy); if (tooltiptext) QToolTip::add( combo, tooltiptext ); connect ( combo, signal, receiver, slot ); combo->setAutoResize(false); item->resize(size, item_size-2); item->setEnabled(enabled); item->show(); if (position == Floating) updateRects( true ); else if (isVisible()) emit (moved(position)); return items.at();}/// Inserts combo with textint KToolBar::insertCombo (const char *text, int id, bool writable, const char *signal, QObject *receiver, const char *slot, bool enabled, const char *tooltiptext, int size, int index, KCombo::Policy policy){ KCombo *combo = new KCombo (writable, this); KToolBarItem *item = new KToolBarItem(combo, ITEM_COMBO, id, true); if (index == -1) items.append (item); else items.insert (index, item); combo->insertItem (text); combo->setInsertionPolicy(policy); if (tooltiptext) QToolTip::add( combo, tooltiptext ); connect (combo, signal, receiver, slot); combo->setAutoResize(false); item->resize(size, item_size-2); item->setEnabled(enabled); item->show(); if (position == Floating) updateRects( true ); else if (isVisible()) emit (moved(position)); return items.at();}/// Removes item by IDvoid KToolBar::removeItem (int id){ for (KToolBarItem *b = items.first(); b; b=items.next()) if (b->ID() == id ) { if(b->isAuto()) haveAutoSized=false; items.remove(); } if (position == Floating) updateRects( true ); else if (isVisible()) emit moved (position);}void KToolBar::showItem (int id){ for (KToolBarItem *b = items.first(); b; b=items.next()) if (b->ID() == id ) { if(b->isAuto()) haveAutoSized=false; b->show(); } if (position == Floating) updateRects( true ); else if (isVisible()) emit moved (position);}void KToolBar::hideItem (int id){ for (KToolBarItem *b = items.first(); b; b=items.next()) if (b->ID() == id ) { if(b->isAuto()) haveAutoSized=false; b->hide(); } if (position == Floating) updateRects( true ); else if (isVisible()) emit moved (position); }/// ******** Tools/// miscvoid KToolBar::addConnection (int id, const char *signal, const QObject *receiver, const char *slot){ for (KToolBarItem *b = items.first(); b; b=items.next()) if (b->ID() == id ) connect (b->getItem(), signal, receiver, slot);}/// Commonvoid KToolBar::setItemEnabled( int id, bool enabled ){ for (KToolBarItem *b = items.first(); b; b=items.next()) if (b->ID() == id ) b->setEnabled(enabled);}void KToolBar::setItemAutoSized ( int id, bool enabled ){ for (KToolBarItem *b = items.first(); b; b=items.next()) if (b->ID() == id ) { b->autoSize(enabled); haveAutoSized = true; if (position == Floating) updateRects( true ); else if (isVisible()) emit moved (position); }}void KToolBar::alignItemRight(int id, bool yes){ for (KToolBarItem *b = items.first(); b; b=items.next()) if (b->ID() == id ) { b->alignRight (yes); if (position == Floating) updateRects( true ); else if (isVisible()) emit moved (position); }}/// Butoonsvoid KToolBar::setButtonPixmap( int id, const QPixmap& _pixmap ){ for (KToolBarItem *b = items.first(); b; b=items.next()) if (b->ID() == id ) ((KToolBarButton *) b->getItem())->setPixmap( _pixmap );}void KToolBar::setDelayedPopup (int id , QPopupMenu *_popup){ for (KToolBarItem *b = items.first(); b; b=items.next()) if (b->ID() == id ) ((KToolBarButton *) b->getItem())->setDelayedPopup(_popup);}/// Toggle buttonsvoid KToolBar::setToggle ( int id, bool yes ){ for (KToolBarItem *b = items.first(); b; b=items.next()) if (b->ID() == id ) { ((KToolBarButton *) b->getItem())->beToggle(yes); connect (b->getItem(), SIGNAL(toggled(int)), this, SLOT(ButtonToggled(int))); }}void KToolBar::toggleButton (int id){ for (KToolBarItem *b = items.first(); b; b=items.next()) if (b->ID() == id ) { if (((KToolBarButton *) b->getItem())->isToggleButton() == true) ((KToolBarButton *) b->getItem())->toggle(); }}void KToolBar::setButton (int id, bool on){ for (KToolBarItem *b = items.first(); b; b=items.next()) if (b->ID() == id ) ((KToolBarButton *) b->getItem())->on(on);}//Autorepeat buttonsvoid KToolBar::setAutoRepeat (int id, bool flag /*, int delay, int repeat */){ for (KToolBarItem *b = items.first(); b; b=items.next()) if (b->ID() == id ) ((KToolBarButton *) b->getItem())->setAutoRepeat(flag);}bool KToolBar::isButtonOn (int id){ for (KToolBarItem *b = items.first(); b; b=items.next()) if (b->ID() == id ) { if (((KToolBarButton *) b->getItem())->isToggleButton() == true) return ((KToolBarButton *) b->getItem())->isOn(); } return false;}/// Linedvoid KToolBar::setLinedText (int id, const char *text){ for (KToolBarItem *b = items.first(); b; b=items.next()) if (b->ID() == id ) { ((KLined *) b->getItem())->setText(text); ((KLined *) b->getItem())->cursorAtEnd(); }}const char *KToolBar::getLinedText (int id ){ for (KToolBarItem *b = items.first(); b; b=items.next()) if (b->ID() == id ) return ((KLined *) b->getItem())->text(); return 0;}/// Combosvoid KToolBar::insertComboItem (int id, const char *text, int index){
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -