myCommandsArea = new CommandsArea(this);
aMainLayout->addWidget(myCommandsArea);
+ myCommandsArea->viewport()->installEventFilter(this);
myChildWidget = new QWidget(myCommandsArea);
myCommandsArea->setWidget(myChildWidget);
int aWgtWidth = myChildWidget->childrenRect().width();
return ((aVPWidth - aPos.x()) < aWgtWidth);
}
+
+bool XGUI_Workbench::eventFilter(QObject *theObj, QEvent *theEvent)
+{
+ if (theObj == myCommandsArea->viewport()) {
+ if (theEvent->type() == QEvent::Resize) {
+ myLeftButton->setVisible(isExceedsLeft());
+ myRightButton->setVisible(isExceedsRight());
+ }
+ }
+ return QWidget::eventFilter(theObj, theEvent);
+}
+
+XGUI_Command* XGUI_Workbench::feature(const QString& theId) const
+{
+ QList<XGUI_MenuGroupPanel*>::const_iterator aIt;
+ for (aIt = myGroups.constBegin(); aIt != myGroups.constEnd(); ++aIt) {
+ XGUI_Command* aCmd = (*aIt)->feature(theId);
+ if (aCmd)
+ return aCmd;
+ }
+ return 0;
+}
+
+QList<XGUI_Command*> XGUI_Workbench::features() const
+{
+ QList<XGUI_Command*> aList;
+ QList<XGUI_MenuGroupPanel*>::const_iterator aIt;
+ for (aIt = myGroups.constBegin(); aIt != myGroups.constEnd(); ++aIt)
+ aList.append((*aIt)->features());
+ return aList;
+}
\ No newline at end of file