Skip to content

Commit d796bbc

Browse files
author
rblazek
committedMay 14, 2009
more fixes for ticket #1133
git-svn-id: http://svn.osgeo.org/qgis/trunk@10790 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent abbf263 commit d796bbc

File tree

2 files changed

+82
-21
lines changed

2 files changed

+82
-21
lines changed
 

‎src/plugins/grass/qgsgrassmodule.cpp

Lines changed: 46 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1660,7 +1660,7 @@ QgsGrassModuleOption::QgsGrassModuleOption( QgsGrassModule *module, QString key,
16601660
}
16611661
else
16621662
{
1663-
QCheckBox *cb = new QCheckBox( desc, this );
1663+
QgsGrassModuleCheckBox *cb = new QgsGrassModuleCheckBox( desc, this );
16641664
mCheckBoxes.push_back( cb );
16651665
mLayout->addWidget( cb );
16661666
}
@@ -1944,7 +1944,7 @@ QgsGrassModuleOption::~QgsGrassModuleOption()
19441944
QgsGrassModuleFlag::QgsGrassModuleFlag( QgsGrassModule *module, QString key,
19451945
QDomElement &qdesc, QDomElement &gdesc, QDomNode &gnode,
19461946
QWidget * parent )
1947-
: QCheckBox( parent ), QgsGrassModuleItem( module, key, qdesc, gdesc, gnode )
1947+
: QgsGrassModuleCheckBox( "", parent ), QgsGrassModuleItem( module, key, qdesc, gdesc, gnode )
19481948
{
19491949
QgsDebugMsg( "called." );
19501950

@@ -1956,6 +1956,7 @@ QgsGrassModuleFlag::QgsGrassModuleFlag( QgsGrassModule *module, QString key,
19561956
setChecked( false );
19571957

19581958
setText( mTitle );
1959+
setToolTip ( mToolTip );
19591960
}
19601961

19611962
QStringList QgsGrassModuleFlag::options()
@@ -1972,18 +1973,6 @@ QgsGrassModuleFlag::~QgsGrassModuleFlag()
19721973
{
19731974
}
19741975

1975-
void QgsGrassModuleFlag::resizeEvent ( QResizeEvent * event )
1976-
{
1977-
adjustText();
1978-
}
1979-
1980-
void QgsGrassModuleFlag::adjustText()
1981-
{
1982-
QString t = fontMetrics().elidedText ( mTitle , Qt::ElideRight, width() - iconSize().width() - 20 );
1983-
1984-
setText( t );
1985-
}
1986-
19871976
/************************** QgsGrassModuleInput ***************************/
19881977

19891978
QgsGrassModuleInput::QgsGrassModuleInput( QgsGrassModule *module,
@@ -2925,7 +2914,9 @@ QgsGrassModuleSelection::QgsGrassModuleSelection(
29252914
connect( mLayerInput, SIGNAL( valueChanged() ), this, SLOT( updateSelection() ) );
29262915
}
29272916

2917+
QHBoxLayout *l = new QHBoxLayout( this );
29282918
mLineEdit = new QLineEdit( this );
2919+
l->addWidget( mLineEdit );
29292920

29302921
// Fill in layer current fields
29312922
updateSelection();
@@ -3127,3 +3118,44 @@ QString QgsGrassModuleFile::ready()
31273118
QgsGrassModuleFile::~QgsGrassModuleFile()
31283119
{
31293120
}
3121+
3122+
/***************************** QgsGrassModuleCheckBox *********************************/
3123+
3124+
QgsGrassModuleCheckBox::QgsGrassModuleCheckBox( const QString & text, QWidget * parent )
3125+
: QCheckBox( text, parent ), mText(text)
3126+
{
3127+
QgsDebugMsg( "called." );
3128+
adjustText();
3129+
}
3130+
3131+
QgsGrassModuleCheckBox::~QgsGrassModuleCheckBox()
3132+
{
3133+
}
3134+
3135+
void QgsGrassModuleCheckBox::resizeEvent ( QResizeEvent * event )
3136+
{
3137+
adjustText();
3138+
}
3139+
void QgsGrassModuleCheckBox::setText ( const QString & text )
3140+
{
3141+
mText = text;
3142+
adjustText();
3143+
}
3144+
void QgsGrassModuleCheckBox::setToolTip ( const QString & text )
3145+
{
3146+
mTip = text;
3147+
QWidget::setToolTip ( text );
3148+
}
3149+
void QgsGrassModuleCheckBox::adjustText()
3150+
{
3151+
QString t = fontMetrics().elidedText ( mText , Qt::ElideRight, width() - iconSize().width() - 20 );
3152+
QCheckBox::setText( t );
3153+
3154+
if ( mTip.isEmpty() ) {
3155+
QString tt;
3156+
if ( t != mText ) {
3157+
tt = mText;
3158+
}
3159+
QWidget::setToolTip ( tt );
3160+
}
3161+
}

‎src/plugins/grass/qgsgrassmodule.h

Lines changed: 36 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -281,6 +281,39 @@ class QgsGrassModuleStandardOptions: public QgsGrassModuleOptions, QWidget
281281
bool mUsesRegion;
282282
};
283283

284+
/****************** QgsGrassModuleGroupBoxItem ************************/
285+
286+
/*! \class QgsGrassModuleCheckBox
287+
* \brief Checkbox with elided text
288+
*/
289+
class QgsGrassModuleCheckBox: public QCheckBox
290+
{
291+
Q_OBJECT
292+
293+
public:
294+
/*! \brief Constructor
295+
*/
296+
QgsGrassModuleCheckBox( const QString & text, QWidget * parent = 0 );
297+
298+
//! Destructor
299+
virtual ~QgsGrassModuleCheckBox ();
300+
301+
void resizeEvent ( QResizeEvent * event );
302+
303+
public slots:
304+
void setText ( const QString & text );
305+
306+
void setToolTip ( const QString & text );
307+
308+
//! Adjust title size, called on resize
309+
void adjustText();
310+
311+
private:
312+
QString mText;
313+
314+
QString mTip;
315+
};
316+
284317
/*! \class QgsGrassModuleItem
285318
* \brief GRASS module option
286319
*/
@@ -455,7 +488,7 @@ class QgsGrassModuleOption: public QgsGrassModuleGroupBoxItem
455488
std::vector<QString> mValues;
456489

457490
//! Check boxes
458-
std::vector<QCheckBox*> mCheckBoxes;
491+
std::vector<QgsGrassModuleCheckBox*> mCheckBoxes;
459492

460493
//! Line
461494
std::vector<QLineEdit*> mLineEdits;
@@ -479,7 +512,7 @@ class QgsGrassModuleOption: public QgsGrassModuleGroupBoxItem
479512
/*! \class QgsGrassModuleFlag
480513
* \brief GRASS flag
481514
*/
482-
class QgsGrassModuleFlag: public QCheckBox, public QgsGrassModuleItem
515+
class QgsGrassModuleFlag: public QgsGrassModuleCheckBox, public QgsGrassModuleItem
483516
{
484517
Q_OBJECT
485518

@@ -498,11 +531,6 @@ class QgsGrassModuleFlag: public QCheckBox, public QgsGrassModuleItem
498531
//! Retruns list of options which will be passed to module
499532
virtual QStringList options();
500533

501-
void resizeEvent ( QResizeEvent * event );
502-
503-
public slots:
504-
//! Adjust title size, called on resize
505-
void adjustText();
506534
};
507535

508536
/************************ QgsGrassModuleInput **********************/
@@ -818,4 +846,5 @@ class QgsGrassModuleFile: public QgsGrassModuleGroupBoxItem
818846
QStringList mFilters;
819847
};
820848

849+
821850
#endif // QGSGRASSMODULE_H

0 commit comments

Comments
 (0)
Please sign in to comment.