X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSalomeApp%2FSalomeApp_ListView.cxx;h=024811f5c65cb69d2ccbc96909bcd27099e766b5;hb=91ffe0dfc02ce414998f97413bcaee678480f18c;hp=988ac450d462ae76d151453e24fdf54c10a51614;hpb=3688267d8b4f06b4c2a3d381b0dfdd7425c07b75;p=modules%2Fgui.git diff --git a/src/SalomeApp/SalomeApp_ListView.cxx b/src/SalomeApp/SalomeApp_ListView.cxx index 988ac450d..024811f5c 100644 --- a/src/SalomeApp/SalomeApp_ListView.cxx +++ b/src/SalomeApp/SalomeApp_ListView.cxx @@ -1,58 +1,67 @@ -// SALOME SalomeApp +// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE // -// Copyright (C) 2005 CEA/DEN, EDF R&D +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License. // +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // -// File : SalomeApp_ListView.cxx -// Author : Vadim SANDLER -// Module : SALOME -// $Header$ +// File : SalomeApp_ListView.cxx +// Author : Vadim SANDLER, Open CASCADE S.A.S. (vadim.sandler@opencascade.com) +// #include "SalomeApp_ListView.h" #include "SalomeApp_Application.h" #include "SUIT_ResourceMgr.h" #include "SUIT_Session.h" -#include -#include -#include -#include +#include +#include +#include +#include +#include + +#include +#include #include #include -#include "utilities.h" - -using namespace std; - -////////////////////////////////////////////////////////////////////// -// SalomeApp_ListView class implementation -////////////////////////////////////////////////////////////////////// - -//================================================================ -// Function : computeEditGeometry -// Purpose : static function - used for resizing editing widget -//================================================================ +/*! + Used for resizing editing widget +*/ void computeEditGeometry(SalomeApp_ListViewItem* theItem, SalomeApp_EntityEdit* theWidget) { if (!theItem) return; - QListView* aListView = theItem->listView(); + QTreeWidget* aListView = theItem->treeWidget(); int anEditColumn = theItem->getEditedColumn(); if (anEditColumn < 0) return; int aX = 0, aY = 0, aW = 0, aH = 0; - QRect aRect = aListView->itemRect(theItem); - aListView->contentsToViewport(aListView->header()->sectionPos(anEditColumn), 0, aX, aY); + QRect aRect = aListView->visualItemRect(theItem); + aX = aListView->header()->sectionViewportPosition(anEditColumn); if (aX < 0) aX = 0; // THIS CAN BE REMOVED QSize aSize = theWidget->getControl()->sizeHint(); - aH = QMAX(aSize.height() , aRect.height() ); + aH = qMax(aSize.height() , aRect.height() ); aY = aRect.y() - ((aH - aRect.height()) / 2); //aW = aListView->columnWidth(anEditColumn); // CAN SUBSTITUTE NEXT 3 ROWS aW = aListView->viewport()->width() - aX; @@ -61,37 +70,34 @@ void computeEditGeometry(SalomeApp_ListViewItem* theItem, theWidget->setGeometry(aX, aY, aW, aH); } -//================================================================ -// Function : SalomeApp_ListView::SalomeApp_ListView -// Purpose : constructor -//================================================================ +/*! + Constructor +*/ SalomeApp_ListView::SalomeApp_ListView( QWidget* parent ) -: QtxListView( parent ) + : QTreeWidget/*QtxListView*/( parent ) { myMouseEnabled = true; myEditingEnabled = false; - setSelectionMode(Single); - setSorting(-1); + setSelectionMode(QAbstractItemView::SingleSelection); setRootIsDecorated(false); setAllColumnsShowFocus(false); // header()->setClickEnabled(false); - header()->setMovingEnabled(false); + header()->setMovable(false); myEditedItem = 0; myEdit = 0; viewport()->installEventFilter(this); - connect(this, SIGNAL(selectionChanged()), - this, SLOT(onSelectionChanged())); + connect(this, SIGNAL(itemSelectionChanged()), + this, SLOT(onSelectionChanged())); connect(header(), SIGNAL(sizeChange(int, int, int)), - this, SLOT(onHeaderSizeChange(int, int, int))); + this, SLOT(onHeaderSizeChange(int, int, int))); } -//================================================================ -// Function : SalomeApp_ListView::~SalomeApp_ListView -// Purpose : destructor -//================================================================ +/*! + Destructor +*/ SalomeApp_ListView::~SalomeApp_ListView() { if (myEdit) { @@ -101,64 +107,60 @@ SalomeApp_ListView::~SalomeApp_ListView() myEditedItem = 0; } -//================================================================ -// Function : SalomeApp_ListView::updateViewer -// Purpose : updates all data viewer -//================================================================ +/*! + Updates all data viewer +*/ void SalomeApp_ListView::updateViewer() { // temporary disconnecting selection changed SIGNAL blockSignals(true); - SalomeApp_ListViewItem* aRoot = (SalomeApp_ListViewItem*)firstChild(); + QTreeWidgetItemIterator it( this ); + SalomeApp_ListViewItem* aRoot = (SalomeApp_ListViewItem*)(*it); if (aRoot) aRoot->updateAllLevels(); - updateContents(); + update( contentsRect() );//updateContents(); // connecting again selection changed SIGNAL blockSignals(false); - emit selectionChanged(); + emit itemSelectionChanged(); } -//================================================================ -// Function : SalomeApp_ListView::updateSelected -// Purpose : updates currently selected item(s) -//================================================================ +/*! + Updates currently selected item(s) +*/ void SalomeApp_ListView::updateSelected() { // temporary disconnecting selection changed SIGNAL blockSignals(true); - SalomeApp_ListViewItem* aChild = (SalomeApp_ListViewItem*)selectedItem(); + SalomeApp_ListViewItem* aChild = (SalomeApp_ListViewItem*)(selectedItems().first()); if (aChild) aChild->updateAllLevels(); - updateContents(); + update( contentsRect() );//updateContents(); // connecting again selection changed SIGNAL blockSignals(false); - emit selectionChanged(); + emit itemSelectionChanged(); } -//================================================================ -// Function : SalomeApp_ListView::popupClientType -// Purpose : returns popup client type -//================================================================ +/*! + Returns popup client type +*/ QString SalomeApp_ListView::popupClientType() const { return "SalomeApp_ListView"; } -//================================================================ -// Function : SalomeApp_ListView::contextMenuPopup -// Purpose : fills popup menu with items -//================================================================ -void SalomeApp_ListView::contextMenuPopup( QPopupMenu* aPopup ) +/*! + Fills popup menu with items +*/ +void SalomeApp_ListView::contextMenuPopup( QMenu* aPopup ) { if (aPopup) { // add items here... } } -//================================================================ -// Function : SalomeApp_ListView::clear -// Purpose : clears view -//================================================================ +/*! + Clears view +*/ void SalomeApp_ListView::clear() { if (myEdit) { @@ -166,31 +168,28 @@ void SalomeApp_ListView::clear() myEdit = 0; myEditedItem = 0; } - QListView::clear(); + QTreeWidget::clear(); } -//================================================================ -// Function : SalomeApp_ListView::isMouseEnabled -// Purpose : returms true if mouse events are enabled -//================================================================ +/*! + \return true if mouse events are enabled +*/ bool SalomeApp_ListView::isMouseEnabled() { return myMouseEnabled; } -//================================================================ -// Function : SalomeApp_ListView::enableMouse -// Purpose : enabled/disables mouse events (excluding MouseMove) -//================================================================ +/*! + Enables/disables mouse events (excluding MouseMove) +*/ void SalomeApp_ListView::enableMouse(bool enable) { myMouseEnabled = enable; } -//================================================================ -// Function : SalomeApp_ListView::eventFilter -// Purpose : event filter -//================================================================ +/*! + Event filter +*/ bool SalomeApp_ListView::eventFilter(QObject* object, QEvent* event) { if (object == viewport() && @@ -200,13 +199,12 @@ bool SalomeApp_ListView::eventFilter(QObject* object, QEvent* event) !isMouseEnabled()) return true; else - return QListView::eventFilter(object, event); + return QTreeWidget::eventFilter(object, event); } -//================================================================ -// Function : SalomeApp_ListView::enableEditing -// Purpose : setting editing of items availbale/not available -//================================================================ +/*! + Setting editing of items availbale/not available +*/ void SalomeApp_ListView::enableEditing(bool theFlag) { myEditingEnabled = theFlag; @@ -219,28 +217,25 @@ void SalomeApp_ListView::enableEditing(bool theFlag) } } -//================================================================ -// Function : SalomeApp_ListView::isEnableEditing -// Purpose : says if editing is enabled -//================================================================ +/*! + Says if editing is enabled +*/ bool SalomeApp_ListView::isEnableEditing() { return myEditingEnabled; } -//================================================================ -// Function : SalomeApp_ListView::accept -// Purpose : calls finishEditing(true)... -//================================================================ +/*! + Calls finishEditing(true)... +*/ void SalomeApp_ListView::accept() { finishEditing(true); } -//================================================================ -// Function : QAD_ListView::onSelectionChanged -// Purpose : slot, called when selection changed in List Viewer -//================================================================ +/*! + Slot, called when selection changed in List Viewer +*/ void SalomeApp_ListView::onSelectionChanged() { if (myEdit) { @@ -249,14 +244,14 @@ void SalomeApp_ListView::onSelectionChanged() myEdit = 0; if (myEditedItem && !myEditedItem->isAccepted()) { delete myEditedItem; - updateContents(); + update( contentsRect() );//updateContents(); } myEditedItem = 0; } // editing is allowed in Single Selection Mode only - if (selectionMode() != Single || !isEnableEditing()) + if (selectionMode() != QAbstractItemView::SingleSelection || !isEnableEditing()) return; - SalomeApp_ListViewItem* anItem = (SalomeApp_ListViewItem*)selectedItem(); + SalomeApp_ListViewItem* anItem = (SalomeApp_ListViewItem*)(selectedItems().first()); if (anItem) { if (!anItem->isEditable()) return; @@ -271,66 +266,60 @@ void SalomeApp_ListView::onSelectionChanged() } } -//================================================================ -// Function : SalomeApp_ListView::resizeEvent -// Purpose : called when Data Viewer is resized -//================================================================ +/*! + Called when Data Viewer is resized +*/ void SalomeApp_ListView::resizeEvent( QResizeEvent * e) { - QListView::resizeEvent(e); - int aW = columnWidth(columns()-1); - int aX = header()->sectionPos(columns()-1); + QTreeWidget::resizeEvent(e); + int aW = columnWidth(columnCount()-1); + int aX = header()->sectionPosition(columnCount()-1); if (aW < width() - frameWidth() * 2 - aX - 1) - setColumnWidth(columns()-1, width() - frameWidth() * 2 - aX - 1); - updateContents(); + setColumnWidth(columnCount()-1, width() - frameWidth() * 2 - aX - 1); + update( contentsRect() );//updateContents(); } -//================================================================ -// Function : SalomeApp_ListView::onHeaderSizeChange -// Purpose : slot, called when columns sizes are changed -//================================================================ +/*! + Slot, called when columns sizes are changed +*/ void SalomeApp_ListView::onHeaderSizeChange(int, int, int) { - int aW = columnWidth(columns()-1); - int aX = header()->sectionPos(columns()-1); + int aW = columnWidth(columnCount()-1); + int aX = header()->sectionPosition(columnCount()-1); if (aW < width() - frameWidth() * 2 - aX - 1) - setColumnWidth(columns()-1, width() - frameWidth() * 2 - aX - 1); + setColumnWidth(columnCount()-1, width() - frameWidth() * 2 - aX - 1); } -//================================================================ -// Function : SalomeApp_ListView::viewportPaintEvent -// Purpose : handler for paint event -//================================================================ +/*! + Handler for paint event +*/ void SalomeApp_ListView::viewportPaintEvent(QPaintEvent* e) { - QListView::viewportPaintEvent(e); + QTreeWidget::paintEvent(e); if (myEditedItem && myEdit) { computeEditGeometry(myEditedItem, myEdit); } } -//================================================================ -// Function : SalomeApp_ListView::onEditOk -// Purpose : called when user finishes in editing of item -//================================================================ +/*! + Called when user finishes in editing of item +*/ void SalomeApp_ListView::onEditOk() { finishEditing(true); } -//================================================================ -// Function : SalomeApp_ListView::onEditCancel -// Purpose : called when user cancels item editing -//================================================================ +/*! + Called when user cancels item editing +*/ void SalomeApp_ListView::onEditCancel() { finishEditing(false); } -//================================================================ -// Function : SalomeApp_ListView::finishEditing -// Purpose : finishes editing of entity -//================================================================ +/*! + Finishes editing of entity +*/ UpdateType SalomeApp_ListView::finishEditing(bool ok) { UpdateType aNeedsUpdate = utCancel; @@ -342,10 +331,10 @@ UpdateType SalomeApp_ListView::finishEditing(bool ok) if (ok) { aNeedsUpdate = myEditedItem->finishEditing(myEdit); if (aNeedsUpdate == utCancel) { - // something to do here on Cancel... + // something to do here on Cancel... } else { - // something to do here on OK... + // something to do here on OK... } // updating contents switch (aNeedsUpdate) { @@ -392,32 +381,31 @@ UpdateType SalomeApp_ListView::finishEditing(bool ok) return aNeedsUpdate; } -//================================================================ -// Function : SalomeApp_ListView::tip -// Purpose : gets current tooltip for list view -// returns valid rect in success -//================================================================ +/*! + \return current tooltip for list view + \retval valid rect in success +*/ QRect SalomeApp_ListView::tip(QPoint aPos, - QString& aText, - QRect& dspRect, - QFont& dspFnt) const + QString& aText, + QRect& dspRect, + QFont& dspFnt) const { QRect result( -1, -1, -1, -1 ); SalomeApp_ListViewItem* aItem = (SalomeApp_ListViewItem*)itemAt( aPos ); if ( aItem ) { - for (int i = 0; i < columns(); i++) { + for (int i = 0; i < columnCount(); i++) { QRect aItemRect = aItem->itemRect(i); QRect aTextRect = aItem->textRect(i); if ( !aItem->text(i).isEmpty() && - ( aItemRect.width() > header()->sectionSize(i) || - aTextRect.left() < 0 || + ( aItemRect.width() > header()->sectionSize(i) || + aTextRect.left() < 0 || aTextRect.top() < 0 || aTextRect.right() > viewport()->width() || aTextRect.bottom() > viewport()->height() ) ) { // calculating tip data aText = aItem->tipText(); - dspRect = aItem->tipRect(); - dspFnt = font(); + dspRect = aItem->tipRect(); + dspFnt = font(); if (dspRect.isValid()) { result = QRect(QPoint(0, aItemRect.top()), QSize(viewport()->width(), aItemRect.height())); @@ -428,157 +416,119 @@ QRect SalomeApp_ListView::tip(QPoint aPos, return result; } -////////////////////////////////////////////////////////////////////// -// SalomeApp_ListViewItem Class Implementation -////////////////////////////////////////////////////////////////////// - -//================================================================ -// Function : SalomeApp_ListViewItem::SalomeApp_ListViewItem -// Purpose : constructor -//================================================================ +/*! + Constructor +*/ SalomeApp_ListViewItem::SalomeApp_ListViewItem(SalomeApp_ListView* parent) : -QListViewItem( parent ) +QTreeWidgetItem( parent ) { init(); } -//================================================================ -// Function : SalomeApp_ListViewItem::SalomeApp_ListViewItem -// Purpose : constructor -//================================================================ +/*! + Constructor +*/ SalomeApp_ListViewItem::SalomeApp_ListViewItem(SalomeApp_ListView* parent, - SalomeApp_ListViewItem* after) : -QListViewItem( parent, after ) + SalomeApp_ListViewItem* after) : +QTreeWidgetItem( parent, after ) { init(); } -//================================================================ -// Function : SalomeApp_ListViewItem::SalomeApp_ListViewItem -// Purpose : constructor -//================================================================ +/*! + Constructor +*/ SalomeApp_ListViewItem::SalomeApp_ListViewItem(SalomeApp_ListView* parent, - const QString& theName, - const bool theEditable) : -QListViewItem(parent, theName) + const QStringList& theStrings, + const bool theEditable) : +QTreeWidgetItem(parent, theStrings) { init(); setEditable(theEditable); } -//================================================================ -// Function : SalomeApp_ListViewItem::SalomeApp_ListViewItem -// Purpose : constructor -//================================================================ -SalomeApp_ListViewItem::SalomeApp_ListViewItem(SalomeApp_ListView* parent, - const QString& theName, - const QString& theValue, - const bool theEditable) : -QListViewItem(parent, theName, theValue) -{ - init(); - setEditable(theEditable); -} - -//================================================================ -// Function : SalomeApp_ListViewItem::SalomeApp_ListViewItem -// Purpose : constructor -//================================================================ +/*! + Constructor +*/ SalomeApp_ListViewItem::SalomeApp_ListViewItem(SalomeApp_ListViewItem* parent, - const QString& theName, - const bool theEditable) : -QListViewItem(parent, theName) + const QStringList& theString, + const bool theEditable) : +QTreeWidgetItem(parent, theString) { init(); setEditable(theEditable); } -//================================================================ -// Function : SalomeApp_ListViewItem::SalomeApp_ListViewItem -// Purpose : constructor -//================================================================ +/*! + Constructor +*/ SalomeApp_ListViewItem::SalomeApp_ListViewItem(SalomeApp_ListViewItem* parent, - SalomeApp_ListViewItem* after, - const QString& theName, - const bool theEditable) : -QListViewItem(parent, after, theName) + SalomeApp_ListViewItem* after, + const QString& theName, + const bool theEditable) : +QTreeWidgetItem(parent, after) { + setData(0,Qt::DisplayRole,QVariant(theName)); init(); setEditable(theEditable); } -//================================================================ -// Function : SalomeApp_ListViewItem::SalomeApp_ListViewItem -// Purpose : constructor -//================================================================ +/*! + Constructor +*/ SalomeApp_ListViewItem::SalomeApp_ListViewItem(SalomeApp_ListView* parent, - SalomeApp_ListViewItem* after, - const QString& theName, - const bool theEditable) : -QListViewItem(parent, after, theName) + SalomeApp_ListViewItem* after, + const QString& theName, + const bool theEditable) : +QTreeWidgetItem(parent, after) { + setData(0,Qt::DisplayRole,QVariant(theName)); init(); setEditable(theEditable); } - -//================================================================ -// Function : SalomeApp_ListViewItem::SalomeApp_ListViewItem -// Purpose : constructor -//================================================================ +/*! + Constructor +*/ SalomeApp_ListViewItem::SalomeApp_ListViewItem(SalomeApp_ListViewItem* parent, - const QString& theName, - const QString& theValue, - const bool theEditable) : -QListViewItem(parent, theName, theValue) -{ + SalomeApp_ListViewItem* after, + const QString& theName, + const QString& theValue, + const bool theEditable) : +QTreeWidgetItem(parent, after) +{ + setData(0,Qt::DisplayRole,QVariant(theName)); + setData(1,Qt::DisplayRole,QVariant(theValue)); init(); setEditable(theEditable); } - -//================================================================ -// Function : SalomeApp_ListViewItem::SalomeApp_ListViewItem -// Purpose : constructor -//================================================================ -SalomeApp_ListViewItem::SalomeApp_ListViewItem(SalomeApp_ListViewItem* parent, - SalomeApp_ListViewItem* after, - const QString& theName, - const QString& theValue, - const bool theEditable) : -QListViewItem(parent, after, theName, theValue) -{ - init(); - setEditable(theEditable); -} - -//================================================================ -// Function : SalomeApp_ListViewItem::SalomeApp_ListViewItem -// Purpose : constructor -//================================================================ +/*! + Constructor +*/ SalomeApp_ListViewItem::SalomeApp_ListViewItem(SalomeApp_ListView* parent, - SalomeApp_ListViewItem* after, - const QString& theName, - const QString& theValue, - const bool theEditable) : -QListViewItem(parent, after, theName, theValue) -{ + SalomeApp_ListViewItem* after, + const QString& theName, + const QString& theValue, + const bool theEditable) : +QTreeWidgetItem(parent, after) +{ + setData(0,Qt::DisplayRole,QVariant(theName)); + setData(1,Qt::DisplayRole,QVariant(theValue)); init(); setEditable(theEditable); } -//================================================================ -// Function : SalomeApp_ListViewItem::~SalomeApp_ListViewItem -// Purpose : destructor -//================================================================ +/*! + Destructor +*/ SalomeApp_ListViewItem::~SalomeApp_ListViewItem() { } -//================================================================ -// Function : SalomeApp_ListViewItem::init -// Purpose : initialization -//================================================================ +/*! + Initialization +*/ void SalomeApp_ListViewItem::init() { myEditable = false; @@ -589,56 +539,65 @@ void SalomeApp_ListViewItem::init() myUserType = -1; } -//================================================================ -// Function : SalomeApp_ListViewItem::getName -// Purpose : as default returns text in the first column -//================================================================ +/*! + Returns the depth of this item +*/ +int SalomeApp_ListViewItem::depth() const +{ + int aDepth = 0; + QTreeWidgetItem* aParent = parent(); + while ( aParent ) { + aParent = aParent->parent(); + aDepth++; + } + return aDepth; +} + +/*! + \return text in the first column +*/ QString SalomeApp_ListViewItem::getName() const { - return ( listView()->columns() > 0 ) ? text(0) : QString(""); + return ( treeWidget()->columnCount() > 0 ) ? text(0) : QString(""); } -//================================================================ -// Function : SalomeApp_ListViewItem::setName -// Purpose : as default sets text in the first column -//================================================================ +/*! + Sets text in the first column +*/ UpdateType SalomeApp_ListViewItem::setName(const QString& theName) { UpdateType aNeedsUpdate = utCancel; - if (listView()->columns() > 0) { + if (treeWidget()->columnCount() > 0) { setText(0, theName); aNeedsUpdate = utNone; } return aNeedsUpdate; } -//================================================================ -// Function : SalomeApp_ListViewItem::getValue -// Purpose : as default returns text in the second column -//================================================================ +/*! + \return text in the second column +*/ QString SalomeApp_ListViewItem::getValue() const { - return ( listView()->columns() > 1 ) ? text(1) : QString(""); + return ( treeWidget()->columnCount() > 1 ) ? text(1) : QString(""); } -//================================================================ -// Function : SalomeApp_ListViewItem::setValue -// Purpose : as default sets text in the second column -//================================================================ +/*! + Sets text in the second column +*/ UpdateType SalomeApp_ListViewItem::setValue(const QString& theValue) { UpdateType aNeedsUpdate = utCancel; - if (listView()->columns() > 1) { + if (treeWidget()->columnCount() > 1) { setText(1, theValue); aNeedsUpdate = utNone; } return aNeedsUpdate; } -//================================================================ -// Function : SalomeApp_ListViewItem::fullName -// Purpose : returns full path to the entity from the root -//================================================================ +/*! + \return full path to the entity from the root +*/ QString SalomeApp_ListViewItem::fullName() { QString aFullName = getName(); @@ -650,163 +609,154 @@ QString SalomeApp_ListViewItem::fullName() return aFullName; } -//================================================================ -// Function : SalomeApp_ListViewItem::openAllLevels -// Purpose : expands all entities beginning from this level -//================================================================ +/*! + expands all entities beginning from this level +*/ void SalomeApp_ListViewItem::openAllLevels() { - setOpen(true); - SalomeApp_ListViewItem* aChild = (SalomeApp_ListViewItem*)firstChild(); + setExpanded(true); + QTreeWidgetItemIterator it( this ); + SalomeApp_ListViewItem* aChild = (SalomeApp_ListViewItem*)(*it); while( aChild ) { aChild->openAllLevels(); - aChild = (SalomeApp_ListViewItem*)(aChild->nextSibling()); + ++it; + aChild = (SalomeApp_ListViewItem*)(*it); } } -//================================================================ -// Function : SalomeApp_ListViewItem::updateAllLevels -// Purpose : update all entites beginning from this level -//================================================================ +/*! + update all entites beginning from this level +*/ void SalomeApp_ListViewItem::updateAllLevels() { - SalomeApp_ListViewItem* aChild = (SalomeApp_ListViewItem*)firstChild(); + QTreeWidgetItemIterator it( this ); + SalomeApp_ListViewItem* aChild = (SalomeApp_ListViewItem*)(*it); while( aChild ) { aChild->updateAllLevels(); - aChild = (SalomeApp_ListViewItem*)(aChild->nextSibling()); + ++it; + aChild = (SalomeApp_ListViewItem*)(*it); } } -//================================================================ -// Function : SalomeApp_EditBox::isEditable -// Purpose : return true if entity is editable -//================================================================ +/*! + \return true if entity is editable +*/ bool SalomeApp_ListViewItem::isEditable() const { return myEditable; } -//================================================================ -// Function : SalomeApp_ListViewItem::setEditable -// Purpose : sets editable flag fo the entity -//================================================================ +/*! + Sets editable flag fo the entity +*/ void SalomeApp_ListViewItem::setEditable(bool theEditable) { myEditable = theEditable; } -//================================================================ -// Function : SalomeApp_ListViewItem::isAccepted -// Purpose : returns true if entitiy is accepted after editing -//================================================================ +/*! + \return true if entitiy is accepted after editing +*/ bool SalomeApp_ListViewItem::isAccepted() const { return myAccepted; } -//================================================================ -// Function : SalomeApp_ListViewItem::setAccepted -// Purpose : set entitiy accepted or not after editing -//================================================================ +/*! + Sets entitiy accepted or not after editing +*/ void SalomeApp_ListViewItem::setAccepted(bool theAccepted) { myAccepted = theAccepted; } -//================================================================ -// Function : SalomeApp_ListViewItem::getEditingType -// Purpose : returns type of edit control (0 - edit box, 1 - combo box, -// 2 - editable combo box), default is edit box -//================================================================ +/*! + \retval type of edit control (default is edit box) + \li 0 - edit box + \li 1 - combo box + \li 2 - editable combo box +*/ int SalomeApp_ListViewItem::getEditingType() { return myEditingType; } -//================================================================ -// Function : SalomeApp_ListViewItem::setEditingType -// Purpose : sets type of edit control (0 - edit box, 1 - combo box, -// 2 - editable combo box), negative value means none -//================================================================ +/*! + \retval type of edit control (negative value means none) + \li 0 - edit box + \li 1 - combo box + \li 2 - editable combo box +*/ void SalomeApp_ListViewItem::setEditingType(const int type) { myEditingType = type; } -//================================================================ -// Function : SalomeApp_ListViewItem::getEditedColumn -// Purpose : returns edited column, default is last column -// negative value means there are no editable columns -//================================================================ +/*! \retval edited column, default is last column + negative value means there are no editable columns +*/ int SalomeApp_ListViewItem::getEditedColumn() { - return listView()->columns()-1; + return treeWidget()->columnCount()-1; } -//================================================================ -// Function : SalomeApp_ListViewItem::getValueType -// Purpose : returns type of edited value (string, int, double) -// default is string -//================================================================ +/*! + \retval type of edited value (string, int, double) + default is string +*/ int SalomeApp_ListViewItem::getValueType() { return myValueType; } -//================================================================ -// Function : SalomeApp_ListViewItem::setValueType -// Purpose : sets type of edited value -//================================================================ +/*! + Sets type of edited value +*/ void SalomeApp_ListViewItem::setValueType(const int valueType) { myValueType = valueType; } -//================================================================ -// Function : SalomeApp_ListViewItem::getUserType -// Purpose : sets type of edited value -//================================================================ +/*! + Sets type of edited value +*/ int SalomeApp_ListViewItem::getUserType() { return myUserType; } -//================================================================ -// Function : SalomeApp_ListViewItem::setUserType -// Purpose : sets type of edited value -//================================================================ +/*! + Sets type of edited value +*/ void SalomeApp_ListViewItem::setUserType(const int userType) { myUserType = userType; } -//================================================================ -// Function : SalomeApp_ListViewItem::getButtons -// Purpose : returns buttons for editing widget (Apply (V), Cancel (X)) -// default is both buttons -//================================================================ +/*! + \return buttons for editing widget (Apply (V), Cancel (X)) + default is both buttons +*/ int SalomeApp_ListViewItem::getButtons() { return myButtons; } -//================================================================ -// Function : SalomeApp_ListViewItem::getButtons -// Purpose : sets buttons for editing widget (Apply (V), Cancel (X)) -//================================================================ +/*! + Sets buttons for editing widget (Apply (V), Cancel (X)) +*/ void SalomeApp_ListViewItem::setButtons(const int buttons) { myButtons = buttons; } -//================================================================ -// Function : SalomeApp_ListViewItem::startEditing -// Purpose : creates control for editing and fills it with values -//================================================================ +/*! + Creates control for editing and fills it with values +*/ SalomeApp_EntityEdit* SalomeApp_ListViewItem::startEditing() { SalomeApp_EntityEdit* aWidget = 0; - QListView* aListView = listView(); + QTreeWidget* aListView = treeWidget(); if (aListView) { if (!isEditable()) return 0; @@ -818,9 +768,9 @@ SalomeApp_EntityEdit* SalomeApp_ListViewItem::startEditing() return 0; aWidget = new SalomeApp_EntityEdit(aListView->viewport(), anEditType, - aValueType, - aButtons & SalomeApp_EntityEdit::btApply, - aButtons & SalomeApp_EntityEdit::btCancel); + aValueType, + aButtons & SalomeApp_EntityEdit::btApply, + aButtons & SalomeApp_EntityEdit::btCancel); computeEditGeometry(this, aWidget); fillWidgetWithValues(aWidget); @@ -828,10 +778,9 @@ SalomeApp_EntityEdit* SalomeApp_ListViewItem::startEditing() return aWidget; } -//================================================================ -// Function : SalomeApp_ListViewItem::fillWidgetWithValues -// Purpose : fills widget with initial values (list or single value) -//================================================================ +/*! + Fills widget with initial values (list or single value) +*/ void SalomeApp_ListViewItem::fillWidgetWithValues(SalomeApp_EntityEdit* theWidget) { int anEditColumn = getEditedColumn(); @@ -839,10 +788,9 @@ void SalomeApp_ListViewItem::fillWidgetWithValues(SalomeApp_EntityEdit* theWidge theWidget->insertItem(text(anEditColumn), true); } -//================================================================ -// Function : SalomeApp_ListViewItem::finishEditing -// Purpose : finishes editing of entity -//================================================================ +/*! + Finishes editing of entity +*/ UpdateType SalomeApp_ListViewItem::finishEditing(SalomeApp_EntityEdit* theWidget) { UpdateType aNeedsUpdate = utCancel; @@ -867,21 +815,20 @@ UpdateType SalomeApp_ListViewItem::finishEditing(SalomeApp_EntityEdit* theWidget return aNeedsUpdate; } -//================================================================ -// Function : SalomeApp_ListViewItem::tipRect -// Purpose : calculates rectangle which should contain item's tip -//================================================================ +/*! + Calculates rectangle which should contain item's tip +*/ QRect SalomeApp_ListViewItem::tipRect() { QRect aRect = QRect(-1, -1, -1, -1); - QRect aItemRect = listView()->itemRect(this); + QRect aItemRect = treeWidget()->visualItemRect(this); if ( !aItemRect.isValid() ) return aItemRect; QString aTip = tipText(); if (!aTip.isEmpty()) { QRect aRect0 = textRect(0); - QFont aFont(listView()->font()); + QFont aFont(treeWidget()->font()); QFontMetrics fm(aFont); int iw = fm.width(aTip); aRect = QRect(QPoint(aRect0.x() < 0 ? 0 : aRect0.x(), @@ -892,10 +839,9 @@ QRect SalomeApp_ListViewItem::tipRect() return aRect; } -//================================================================ -// Function : SalomeApp_ListViewItem::tipText -// Purpose : returns text for tooltip -//================================================================ +/*! + \return text for tooltip +*/ QString SalomeApp_ListViewItem::tipText() { QString aText = getName(); @@ -904,164 +850,150 @@ QString SalomeApp_ListViewItem::tipText() return aText; } -//================================================================ -// Function : SalomeApp_ListViewItem::textRect -// Purpose : calculates rect of item text in viewport coordinates -//================================================================ +/*! + Calculates rect of item text in viewport coordinates +*/ QRect SalomeApp_ListViewItem::textRect(const int column) const { - QRect aItemRect = listView()->itemRect( this ); + QRect aItemRect = treeWidget()->visualItemRect( this ); if ( !aItemRect.isValid() ) return aItemRect; - QFont aFont(listView()->font()); + QFont aFont(treeWidget()->font()); QFontMetrics fm(aFont); - int decorWidth = ( listView()->rootIsDecorated() ) ? - ( listView()->treeStepSize() * (depth() + 1) ) : - ( listView()->treeStepSize() * depth() ); - int pixmapWidth = ( pixmap(column) ) ? - pixmap(column)->width() + listView()->itemMargin() * 2 : - listView()->itemMargin(); + int decorWidth = ( treeWidget()->rootIsDecorated() ) ? + ( treeWidget()->indentation() * (depth() + 1) ) : + ( treeWidget()->indentation() * depth() ); + int pixmapWidth = ( !icon(column).isNull() ) ? + treeWidget()->iconSize().width() + 2 : + 1; int prevWidth = 0; for (int i = 0; i < column; i++) - prevWidth += listView()->header()->sectionSize(i); + prevWidth += treeWidget()->header()->sectionSize(i); int ix = prevWidth + pixmapWidth + ((column == 0) ? decorWidth : 0); int iy = aItemRect.y(); int iw = fm.width(text(column)); int ih = aItemRect.height(); - if (pixmap(column)) { - iy += listView()->itemMargin(); - ih -= listView()->itemMargin() * 2; + if (!icon(column).isNull()) { + iy += 1; + ih -= 2; } - ix -= listView()->contentsX(); + ix -= treeWidget()->contentsRect().left(); QRect theResult(QPoint(ix, iy), QSize(iw, ih)); return theResult; } -//================================================================ -// Function : SalomeApp_ListViewItem::itemRect -// Purpose : calculates rect of item data in viewport coordinates -//================================================================ +/*! + Calculates rect of item data in viewport coordinates +*/ QRect SalomeApp_ListViewItem::itemRect(const int column) const { - QRect aItemRect = listView()->itemRect( this ); + QRect aItemRect = treeWidget()->visualItemRect( this ); if ( !aItemRect.isValid() ) return aItemRect; - QFont aFont(listView()->font()); + QFont aFont(treeWidget()->font()); QFontMetrics fm(aFont); - int decorWidth = ( listView()->rootIsDecorated() ) ? - ( listView()->treeStepSize() * (depth() + 1) ) : - ( listView()->treeStepSize() * depth() ); - int pixmapWidth = ( pixmap(column) ) ? - pixmap(column)->width() + listView()->itemMargin() * 2 : + int decorWidth = ( treeWidget()->rootIsDecorated() ) ? + ( treeWidget()->indentation() * (depth() + 1) ) : + ( treeWidget()->indentation() * depth() ); + int pixmapWidth = ( !icon(column).isNull() ) ? + treeWidget()->iconSize().width() + 2 : 0; int prevWidth = 0; for (int i = 0; i < column; i++) - prevWidth += listView()->header()->sectionSize(i); + prevWidth += treeWidget()->header()->sectionSize(i); int ix = prevWidth; int iy = aItemRect.y(); int iw = pixmapWidth + - listView()->itemMargin() * 2 + + 2 + ((column == 0) ? decorWidth : 0) + fm.width(text(column)); int ih = aItemRect.height(); - ix -= listView()->contentsX(); + ix -= treeWidget()->contentsRect().left(); QRect theResult(QPoint(ix, iy), QSize(iw, ih)); return theResult; } -////////////////////////////////////////////////////////////////////// -// SalomeApp_EditBox class implementation -////////////////////////////////////////////////////////////////////// - -//================================================================ -// Function : SalomeApp_EditBox::SalomeApp_EditBox -// Purpose : constructor -//================================================================ +/*! + Constructor +*/ SalomeApp_EditBox::SalomeApp_EditBox(QWidget* parent) : QLineEdit(parent) { } -//================================================================ -// Function : SalomeApp_EditBox::keyPressEvent -// Purpose : event filter for key pressing -//================================================================ +/*! + Event filter for key pressing +*/ void SalomeApp_EditBox::keyPressEvent( QKeyEvent *e ) { - if ( e->key() == Key_Escape ) + if ( e->key() == Qt::Key_Escape ) emit escapePressed(); else QLineEdit::keyPressEvent( e ); e->accept(); } -////////////////////////////////////////////////////////////////////// -// SalomeApp_ComboBox class implementation -////////////////////////////////////////////////////////////////////// -//================================================================ -// Function : SalomeApp_ComboBox::SalomeApp_ComboBox -// Purpose : constructor -//================================================================ +/*! + Constructor +*/ SalomeApp_ComboBox::SalomeApp_ComboBox(bool rw, QWidget* parent, const char* name) : -QComboBox(rw, parent, name) +QComboBox(parent) { + setEditable( rw ); + setObjectName( name ); } -//================================================================ -// Function : SalomeApp_ComboBox::findItem -// Purpose : searches item in list and returns its index -//================================================================ +/*! + Searches item in list and returns its index +*/ int SalomeApp_ComboBox::findItem(const QString& theText) { for (int i = 0; i < count(); i++) - if (text(i) == theText) + if (itemText(i) == theText) return i; return -1; } -//================================================================ -// Function : SalomeApp_ComboBox::insertItem -// Purpose : adds item in combo box -//================================================================ +/*! + Adds item in combo box +*/ void SalomeApp_ComboBox::insertItem(const QString& theValue, - int theIndex) + int theIndex) { if (duplicatesEnabled() || findItem(theValue) < 0) - QComboBox::insertItem(theValue, theIndex); + QComboBox::insertItem(theIndex, theValue); } -//================================================================ -// Function : SalomeApp_ComboBox::insertList -// Purpose : adds list of items in combo box -//================================================================ +/*! + Adds list of items in combo box +*/ void SalomeApp_ComboBox::insertList(const QStringList& theList) { for (unsigned i = 0; i < theList.count(); i++) insertItem(theList[i]); } -//================================================================ -// Function : SalomeApp_ComboBox::insertItem -// Purpose : adds item in combo box -//================================================================ +/*! + Adds item in combo box +*/ void SalomeApp_ComboBox::insertItem(const int theValue) { int aNum; bool bOk; for (int i = 0; i < count(); i++) { - aNum = text(i).toInt(&bOk); + aNum = itemText(i).toInt(&bOk); if (bOk) { if (aNum > theValue || (aNum == theValue && duplicatesEnabled())) { - insertItem(QString::number(theValue), i); + insertItem(QString::number(theValue),i); return; } } @@ -1069,26 +1001,24 @@ void SalomeApp_ComboBox::insertItem(const int theValue) insertItem(QString::number(theValue)); } -//================================================================ -// Function : SalomeApp_ComboBox::insertList -// Purpose : adds list of items in combo box -//================================================================ +/*! + Adds list of items in combo box +*/ void SalomeApp_ComboBox::insertList(const TColStd_ListOfInteger& theList) { for (TColStd_ListIteratorOfListOfInteger aIter(theList); aIter.More(); aIter.Next()) insertItem(aIter.Value()); } -//================================================================ -// Function : SalomeApp_ComboBox::insertItem -// Purpose : adds item in combo box -//================================================================ +/*! + Adds item in combo box +*/ void SalomeApp_ComboBox::insertItem(const double theValue) { double aNum; bool bOk; for (int i = 0; i < count(); i++) { - aNum = text(i).toDouble(&bOk); + aNum = itemText(i).toDouble(&bOk); if (bOk) { if (aNum > theValue || (aNum == theValue && duplicatesEnabled())) { insertItem(QString::number(theValue), i); @@ -1099,34 +1029,28 @@ void SalomeApp_ComboBox::insertItem(const double theValue) insertItem(QString::number(theValue)); } -//================================================================ -// Function : SalomeApp_ComboBox::insertList -// Purpose : adds list of items in combo box -//================================================================ +/*! + Adds list of items in combo box +*/ void SalomeApp_ComboBox::insertList(const TColStd_ListOfReal& theList) { for (TColStd_ListIteratorOfListOfReal aIter(theList); aIter.More(); aIter.Next()) insertItem(aIter.Value()); } -////////////////////////////////////////////////////////////////////// -// SalomeApp_EntityEdit class implementation -////////////////////////////////////////////////////////////////////// - #include #define MIN_COMBO_WIDTH 1 #define MIN_EDIT_WIDTH 1 -//================================================================ -// Function : SalomeApp_EntityEdit::SalomeApp_EntityEdit -// Purpose : constructor -//================================================================ +/*! + Constructor +*/ SalomeApp_EntityEdit::SalomeApp_EntityEdit(QWidget* parent, - int controlType, - int valueType, - bool butApply, - bool butCancel) : + int controlType, + int valueType, + bool butApply, + bool butCancel) : QWidget(parent), myEdit(0), myCombo(0), @@ -1151,7 +1075,7 @@ myCancelBtn(0) myCombo->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed)); // no insertions - myCombo->setInsertionPolicy(QComboBox::NoInsertion); + myCombo->setInsertPolicy(QComboBox::NoInsert); // no duplicates enabled by default myCombo->setDuplicatesEnabled(false); aTopLayout->addWidget(myCombo); @@ -1184,9 +1108,9 @@ myCancelBtn(0) QPixmap anIcon; if( mgr ) - anIcon = mgr->loadPixmap( "STD", tr( "ICON_APPLY" ), false ); + anIcon = mgr->loadPixmap( "SalomeApp", tr( "ICON_APPLY" ), false ); - myApplyBtn->setPixmap(anIcon); + myApplyBtn->setIcon(anIcon); myApplyBtn->setEnabled(false); myApplyBtn->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)); myApplyBtn->setMinimumSize(16, 16); @@ -1199,8 +1123,8 @@ myCancelBtn(0) myCancelBtn = new QToolButton(this); QPixmap anIcon; if( mgr ) - anIcon = mgr->loadPixmap( "STD", tr( "ICON_CANCEL" ), false ); - myCancelBtn->setPixmap(anIcon); + anIcon = mgr->loadPixmap( "SalomeApp", tr( "ICON_CANCEL" ), false ); + myCancelBtn->setIcon(anIcon); myCancelBtn->setEnabled(false); myCancelBtn->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)); myCancelBtn->setMinimumSize(16, 16); @@ -1210,18 +1134,16 @@ myCancelBtn(0) } } -//================================================================ -// Function : SalomeApp_EntityEdit::~SalomeApp_EntityEdit -// Purpose : destructor -//================================================================ +/*! + Destructor +*/ SalomeApp_EntityEdit::~SalomeApp_EntityEdit() { } -//================================================================ -// Function : SalomeApp_EntityEdit::clear -// Purpose : clears edit/combo box -//================================================================ +/*! + Clears edit/combo box +*/ void SalomeApp_EntityEdit::clear() { if (myEdit) @@ -1230,10 +1152,9 @@ void SalomeApp_EntityEdit::clear() myCombo->clear(); } -//================================================================ -// Function : SalomeApp_EntityEdit::getText -// Purpose : returns current text in edit box or combo box -//================================================================ +/*! + \return current text in edit box or combo box +*/ QString SalomeApp_EntityEdit::getText() { if (myEdit) @@ -1244,10 +1165,9 @@ QString SalomeApp_EntityEdit::getText() return ""; } -//================================================================ -// Function : SalomeApp_EntityEdit::setText -// Purpose : sets text -//================================================================ +/*! + Sets text +*/ void SalomeApp_EntityEdit::setText(const QString& theText) { myString = theText; @@ -1256,44 +1176,40 @@ void SalomeApp_EntityEdit::setText(const QString& theText) if (myCombo) { int aFound = myCombo->findItem(theText); if (aFound >= 0) { - myCombo->setCurrentItem(aFound); + myCombo->setCurrentIndex(aFound); onTextChanged(theText); } } } -//================================================================ -// Function : SalomeApp_EntityEdit::insertItem -// Purpose : adds item in combo box, -// sets it current if theSetCurrent is true -//================================================================ +/*! + Adds item in combo box, sets it current if theSetCurrent is true +*/ void SalomeApp_EntityEdit::insertItem(const QString& theValue, - bool theSetCurrent, - int theOrder) + bool theSetCurrent, + int theOrder) { if (myCombo) { int aIndexAt = -1; if (theOrder == atTop) aIndexAt = 0; else if (theOrder == atBeforeCurrent && myCombo->count() > 0) - aIndexAt = myCombo->currentItem(); + aIndexAt = myCombo->currentIndex(); else if (theOrder == atAfterCurrent && myCombo->count() > 0 && - myCombo->currentItem() < myCombo->count()-1) - aIndexAt = myCombo->currentItem() + 1; + myCombo->currentIndex() < myCombo->count()-1) + aIndexAt = myCombo->currentIndex() + 1; myCombo->insertItem(theValue, aIndexAt); } if (theSetCurrent) setText(theValue); } -//================================================================ -// Function : SalomeApp_EntityEdit::insertList -// Purpose : adds items in combo box, -// sets item theCurrent as current -//================================================================ +/*! + Adds items in combo box, sets item theCurrent as current +*/ void SalomeApp_EntityEdit::insertList(const QStringList& theList, - const int theCurrent) + const int theCurrent) { if (myCombo) myCombo->insertList(theList); @@ -1301,13 +1217,11 @@ void SalomeApp_EntityEdit::insertList(const QStringList& theList, setText(theList[theCurrent]); } -//================================================================ -// Function : SalomeApp_EntityEdit::insertItem -// Purpose : adds item in combo box, -// sets it current if theSetCurrent is true -//================================================================ +/*! + Adds item in combo box, sets it current if theSetCurrent is true +*/ void SalomeApp_EntityEdit::insertItem(const int theValue, - bool theSetCurrent) + bool theSetCurrent) { if (myCombo) { myCombo->insertItem(theValue); @@ -1316,13 +1230,11 @@ void SalomeApp_EntityEdit::insertItem(const int theValue, setText(QString::number(theValue)); } -//================================================================ -// Function : SalomeApp_EntityEdit::insertList -// Purpose : adds items in combo box, -// sets item theCurrent as current -//================================================================ +/*! + Adds items in combo box, sets item theCurrent as current +*/ void SalomeApp_EntityEdit::insertList(const TColStd_ListOfInteger& theList, - const int theCurrent) + const int theCurrent) { if (myCombo) myCombo->insertList(theList); @@ -1336,13 +1248,11 @@ void SalomeApp_EntityEdit::insertList(const TColStd_ListOfInteger& theList, } } -//================================================================ -// Function : SalomeApp_EntityEdit::insertItem -// Purpose : adds item in combo box, -// sets it current if theSetCurrent is true -//================================================================ +/*! + Adds item in combo box, sets it current if theSetCurrent is true +*/ void SalomeApp_EntityEdit::insertItem(const double theValue, - bool theSetCurrent) + bool theSetCurrent) { if (myCombo) { myCombo->insertItem(theValue); @@ -1351,13 +1261,11 @@ void SalomeApp_EntityEdit::insertItem(const double theValue, setText(QString::number(theValue)); } -//================================================================ -// Function : SalomeApp_EntityEdit::insertList -// Purpose : adds items in combo box, -// sets item theCurrent as current -//================================================================ +/*! + Adds items in combo box, sets item theCurrent as current +*/ void SalomeApp_EntityEdit::insertList(const TColStd_ListOfReal& theList, - const int theCurrent) + const int theCurrent) { if (myCombo) myCombo->insertList(theList); @@ -1371,10 +1279,9 @@ void SalomeApp_EntityEdit::insertList(const TColStd_ListOfReal& theList, } } -//================================================================ -// Function : SalomeApp_EntityEdit::getControl -// Purpose : gets actual widget -//================================================================ +/*! + \return actual widget +*/ QWidget* SalomeApp_EntityEdit::getControl() { if (myEdit) @@ -1385,26 +1292,24 @@ QWidget* SalomeApp_EntityEdit::getControl() return 0; } -//================================================================ -// Function : SalomeApp_EntityEdit::setFocus -// Purpose : redirect focus to corresponding widget -//================================================================ +/*! + redirect focus to corresponding widget +*/ void SalomeApp_EntityEdit::setFocus() { if (myEdit) { myEdit->setFocus(); //myEdit->selectAll(); } - else if (myCombo && myCombo->editable()) { + else if (myCombo && myCombo->isEditable()) { myCombo->setFocus(); //myCombo->lineEdit()->selectAll(); } } -//================================================================ -// Function : SalomeApp_EntityEdit::setValidator -// Purpose : sets validator for the control -//================================================================ +/*! + Sets validator for the control +*/ void SalomeApp_EntityEdit::setValidator(const QValidator* theValidator) { if (myEdit) @@ -1413,32 +1318,29 @@ void SalomeApp_EntityEdit::setValidator(const QValidator* theValidator) myCombo->setValidator(theValidator); } -//================================================================ -// Function : SalomeApp_EntityEdit::keyPressEvent -// Purpose : event filter for KeyPress event -//================================================================ +/*! + Event filter for KeyPress event +*/ void SalomeApp_EntityEdit::keyPressEvent( QKeyEvent * e) { - if ( (e->key() == Key_Enter || - e->key() == Key_Return ) ) + if ( (e->key() == Qt::Key_Enter || + e->key() == Qt::Key_Return ) ) onApply(); - else if (e->key() == Key_Escape) + else if (e->key() == Qt::Key_Escape) onCancel(); } -//================================================================ -// Function : SalomeApp_EntityEdit::onComboActivated -// Purpose : called when item activated in combo box -//================================================================ +/*! + Called when item activated in combo box +*/ void SalomeApp_EntityEdit::onComboActivated(const QString& theText) { onTextChanged(theText); } -//================================================================ -// Function : SalomeApp_EntityEdit::onTextChanged -// Purpose : slot, called when text changed in line edit -//================================================================ +/*! + Slot, called when text changed in line edit +*/ void SalomeApp_EntityEdit::onTextChanged(const QString& theText) { if (myApplyBtn) @@ -1447,10 +1349,9 @@ void SalomeApp_EntityEdit::onTextChanged(const QString& theText) myCancelBtn->setEnabled(!(theText == myString)); } -//================================================================ -// Function : SalomeApp_EntityEdit::onCancel -// Purpose : slot, called when user presses Cancel button -//================================================================ +/*! + Slot, called when user presses Cancel button +*/ void SalomeApp_EntityEdit::onCancel() { setText(myString); @@ -1461,10 +1362,9 @@ void SalomeApp_EntityEdit::onCancel() emit escapePressed(); } -//================================================================ -// Function : SalomeApp_EntityEdit::onApply -// Purpose : slot, called when user presses Apply button -//================================================================ +/*! + Slot, called when user presses Apply button +*/ void SalomeApp_EntityEdit::onApply() { myString = getText(); @@ -1475,10 +1375,9 @@ void SalomeApp_EntityEdit::onApply() emit returnPressed(); } -//================================================================ -// Function : SalomeApp_EntityEdit::showButtons -// Purpose : shows/hides buttons -//================================================================ +/*! + Shows/hides buttons +*/ void SalomeApp_EntityEdit::showButtons(bool show) { if (myApplyBtn) @@ -1487,10 +1386,9 @@ void SalomeApp_EntityEdit::showButtons(bool show) show ? myCancelBtn->show() : myCancelBtn->hide(); } -//================================================================ -// Function : SalomeApp_EntityEdit::setDuplicatesEnabled -// Purpose : enables/disables data duplication (for combo box) -//================================================================ +/*! + Enables/disables data duplication (for combo box) +*/ void SalomeApp_EntityEdit::setDuplicatesEnabled(bool enabled) { if (myCombo)