1 // File: QtxListResourceEdit.cxx
2 // Author: Sergey TELKOV
4 #include "QtxListResourceEdit.h"
11 #include <qcombobox.h>
12 #include <qlineedit.h>
13 #include <qcheckbox.h>
14 #include <qtabwidget.h>
15 #include <qvalidator.h>
16 #include <qobjectlist.h>
17 #include <qcolordialog.h>
18 #include <qwidgetstack.h>
19 #include <qtoolbutton.h>
20 #include <qfontdialog.h>
22 #include "QtxIntSpinBox.h"
23 #include "QtxDblSpinBox.h"
26 Class: QtxListResourceEdit
27 Descr: GUI implementation of QtxResourceEdit - manager of resources
30 QtxListResourceEdit::QtxListResourceEdit( QtxResourceMgr* mgr, QWidget* parent )
32 QtxResourceEdit( mgr )
34 QVBoxLayout* main = new QVBoxLayout( this, 0, 5 );
35 QGroupBox* base = new QGroupBox( 1, Qt::Vertical, "", this );
36 base->setFrameStyle( QFrame::NoFrame );
37 base->setInsideMargin( 0 );
38 main->addWidget( base );
40 myList = new QListBox( base );
41 myStack = new QWidgetStack( base );
43 myList->setSizePolicy( QSizePolicy( QSizePolicy::Minimum, QSizePolicy::Expanding ) );
44 myStack->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ) );
46 myList->setSelectionMode( QListBox::Single );
48 connect( myList, SIGNAL( selectionChanged() ), this, SLOT( onSelectionChanged() ) );
50 setFocusProxy( myList );
55 QtxListResourceEdit::~QtxListResourceEdit()
59 void QtxListResourceEdit::setItemProperty( const int id, const QString& prop, const QVariant& val )
65 bool prev = i->isEmpty();
67 QtxResourceEdit::setItemProperty( id, prop, val );
69 bool next = i->isEmpty();
75 void QtxListResourceEdit::onSelectionChanged()
77 QString title = myList->text( myList->index( myList->selectedItem() ) );
78 if ( title.isEmpty() )
84 for ( QPtrListIterator<Item> it( lst ); it.current() && !i; ++it )
86 if ( it.current()->title() == title )
91 myStack->raiseWidget( i->id() );
94 void QtxListResourceEdit::itemAdded( QtxResourceEdit::Item* i )
102 if ( items.contains( i ) || items.contains( i->parentItem() ) )
106 QtxResourceEdit::Item* QtxListResourceEdit::createItem( const QString& title, const int )
108 Item* i = item( title, -1 );
112 Category* category = new Category( this, myStack );
113 myStack->addWidget( category, category->id() );
117 if ( !myList->selectedItem() )
118 myList->setSelected( 0, true );
125 void QtxListResourceEdit::changedResources( const QMap<Item*, QString>& map )
127 QMap<int, QString> idMap;
128 for ( QMap<Item*, QString>::ConstIterator it = map.begin(); it != map.end(); ++it )
130 idMap.insert( it.key()->id(), it.data() );
132 emit resourceChanged( it.key()->id() );
135 it.key()->resource( sec, param );
136 emit resourceChanged( sec, param );
139 emit resourcesChanged( idMap );
142 void QtxListResourceEdit::updateState()
144 if ( myList->selectedItem() && myStack->visibleWidget() )
150 void QtxListResourceEdit::updateVisible()
152 QPtrList<Item> items;
155 QString name = myList->text( myList->index( myList->selectedItem() ) );
158 for ( QPtrListIterator<Item> it( items ); it.current(); ++it )
160 if ( it.current()->isEmpty() )
163 myList->insertItem( it.current()->title() );
167 for ( int i = 0; i < (int)myList->count() && idx == -1; i++ )
169 if ( myList->text( i ) == name )
173 myList->setSelected( QMAX( idx, 0 ), true );
179 Class: QtxListResourceEdit::Category
180 Descr: GUI implementation of preferences category.
183 QtxListResourceEdit::Category::Category( QtxListResourceEdit* edit, QWidget* parent )
187 QVBoxLayout* main = new QVBoxLayout( this );
188 QGroupBox* base = new QGroupBox( 1, Qt::Horizontal, "", this );
189 base->setFrameStyle( QFrame::NoFrame );
190 base->setInsideMargin( 0 );
191 main->addWidget( base, 1 );
193 myTabs = new QTabWidget( base );
194 myInfo = new QLabel( base );
196 myInfo->setAlignment( Qt::AlignCenter );
197 myInfo->setFrameStyle( QFrame::WinPanel | QFrame::Raised );
198 myInfo->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ) );
203 QtxListResourceEdit::Category::~Category()
207 bool QtxListResourceEdit::Category::isEmpty() const
209 return Item::isEmpty() && myInfo->text().isEmpty();
212 int QtxListResourceEdit::Category::type() const
217 void QtxListResourceEdit::Category::store()
221 void QtxListResourceEdit::Category::retrieve()
225 QVariant QtxListResourceEdit::Category::property( const QString& prop ) const
228 if ( prop == QString( "information" ) || prop == QString( "info" ) )
229 var = myInfo->text();
233 void QtxListResourceEdit::Category::setProperty( const QString& name, const QVariant& var )
236 if ( !prop.cast( QVariant::String ) )
239 if ( name == QString( "information" ) || name == QString( "info" ) )
240 myInfo->setText( prop.toString() );
245 QtxResourceEdit::Item* QtxListResourceEdit::Category::createItem( const QString& title, const int )
247 Item* i = item( title, id() );
251 Tab* tab = new Tab( resourceEdit(), this, this );
252 myTabs->addTab( tab, title );
259 void QtxListResourceEdit::Category::updateState()
261 if ( myTabs->count() )
266 if ( !myTabs->count() && !myInfo->text().isEmpty() )
273 Class: QtxListResourceEdit::Tab
274 Descr: GUI implementation of resources tab.
277 QtxListResourceEdit::Tab::Tab( QtxResourceEdit* edit, Item* pItem, QWidget* parent )
281 QVBoxLayout* main = new QVBoxLayout( this );
282 QVBox* vbox = new QVBox( this );
283 vbox->setMargin( 5 );
285 main->addWidget( myMainFrame );
286 main->addStretch( 1 );
289 QtxListResourceEdit::Tab::~Tab()
293 int QtxListResourceEdit::Tab::type() const
298 void QtxListResourceEdit::Tab::store()
302 void QtxListResourceEdit::Tab::retrieve()
306 void QtxListResourceEdit::Tab::polish()
313 QtxResourceEdit::Item* QtxListResourceEdit::Tab::createItem( const QString& title, const int )
315 Item* i = item( title, id() );
319 Group* group = new Group( title, resourceEdit(), this, myMainFrame );
324 void QtxListResourceEdit::Tab::adjustLabels()
326 QObjectList* labels = queryList( "QLabel" );
330 for ( QObjectListIt it1( *labels ); it1.current(); ++it1 )
332 if ( it1.current()->isWidgetType() )
334 QWidget* wid = (QWidget*)it1.current();
335 w = QMAX( w, wid->sizeHint().width() );
338 for ( QObjectListIt it2( *labels ); it2.current(); ++it2 )
340 if ( it2.current()->isWidgetType() )
342 QWidget* wid = (QWidget*)it2.current();
343 wid->setMinimumWidth( w );
351 Class: QtxListResourceEdit::Group
352 Descr: GUI implementation of resources group.
355 QtxListResourceEdit::Group::Group( const QString& title, QtxResourceEdit* edit, Item* pItem, QWidget* parent )
356 : QGroupBox( 2, Qt::Horizontal, title, parent ),
361 QtxListResourceEdit::Group::~Group()
365 int QtxListResourceEdit::Group::type() const
370 void QtxListResourceEdit::Group::store()
374 void QtxListResourceEdit::Group::retrieve()
378 QVariant QtxListResourceEdit::Group::property( const QString& prop ) const
381 if ( prop == "columns" )
382 var = QVariant( columns() );
383 else if ( prop == "orientation" )
384 var = QVariant( orientation() );
385 else if ( prop == "frame" )
386 var = QVariant( frameStyle() != QFrame::NoFrame );
390 void QtxListResourceEdit::Group::setProperty( const QString& name, const QVariant& var )
393 if ( !prop.cast( QVariant::Int ) )
396 if ( name == QString( "columns" ) && prop.cast( QVariant::Int ) && prop.toInt() > 0 )
397 setColumns( prop.toInt() );
398 else if ( name == QString( "orientation" ) && prop.cast( QVariant::Int ) )
400 int o = prop.toInt();
401 if ( o == Qt::Horizontal || o == Qt::Vertical )
402 setOrientation( (Orientation)o );
404 else if ( name == "frame" && prop.cast( QVariant::Bool ) )
406 setInsideMargin( prop.toBool() ? 5 : 0 );
407 QGroupBox::setTitle( prop.toBool() ? Item::title() : QString::null );
408 setFrameStyle( prop.toBool() ? QFrame::Box | QFrame::Sunken : QFrame::NoFrame );
412 void QtxListResourceEdit::Group::setTitle( const QString& title )
414 Item::setTitle( title );
415 QGroupBox::setTitle( title );
418 QtxResourceEdit::Item* QtxListResourceEdit::Group::createItem( const QString& title, const int type )
425 item = new ColorItem( title, resourceEdit(), this, this );
428 item = new StateItem( title, resourceEdit(), this, this );
431 item = new StringItem( title, resourceEdit(), this, this );
434 item = new SelectItem( title, resourceEdit(), this, this );
437 item = new DoubleSpinItem( title, resourceEdit(), this, this );
440 item = new IntegerSpinItem( title, resourceEdit(), this, this );
443 item = new DoubleEditItem( title, resourceEdit(), this, this );
446 item = new IntegerEditItem( title, resourceEdit(), this, this );
449 item = new Spacer( resourceEdit(), this, this );
452 item = new Group( title, resourceEdit(), this, this );
455 item = new FontItem( title, resourceEdit(), this, this );
463 Class: QtxListResourceEdit::PrefItem
464 Descr: Base class for preferences items.
467 QtxListResourceEdit::PrefItem::PrefItem( const int type, QtxResourceEdit* edit, Item* pi, QWidget* parent )
475 QtxListResourceEdit::PrefItem::~PrefItem()
479 int QtxListResourceEdit::PrefItem::type() const
484 QtxResourceEdit::Item* QtxListResourceEdit::PrefItem::createItem( const QString&, const int )
490 Class: QtxListResourceEdit::Spacer
491 Descr: GUI implementation of resources spacer.
494 QtxListResourceEdit::Spacer::Spacer( QtxResourceEdit* edit, Item* pItem, QWidget* parent )
495 : PrefItem( Space, edit, pItem, parent )
497 setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
500 QtxListResourceEdit::Spacer::~Spacer()
504 void QtxListResourceEdit::Spacer::store()
508 void QtxListResourceEdit::Spacer::retrieve()
513 Class: QtxListResourceEdit::SelectItem
514 Descr: GUI implementation of resources list item.
517 QtxListResourceEdit::SelectItem::SelectItem( const QString& title, QtxResourceEdit* edit,
518 Item* pItem, QWidget* parent )
519 : PrefItem( Selector, edit, pItem, parent )
521 new QLabel( title, this );
522 myList = new QComboBox( false, this );
523 myList->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
526 QtxListResourceEdit::SelectItem::~SelectItem()
530 void QtxListResourceEdit::SelectItem::store()
532 int idx = myList->currentItem();
533 if ( myIndex.contains( idx ) )
534 setInteger( myIndex[idx] );
537 void QtxListResourceEdit::SelectItem::retrieve()
539 int id = getInteger( -1 );
542 for ( QMap<int, int>::ConstIterator it = myIndex.begin(); it != myIndex.end() && idx == -1; ++it )
544 if ( it.data() == id )
548 myList->setCurrentItem( idx );
551 QVariant QtxListResourceEdit::SelectItem::property( const QString& name ) const
554 if ( name == QString( "strings" ) )
557 for ( int i = 0; i < (int)myList->count(); i++ )
558 lst.append( myList->text( i ) );
559 val = QVariant( lst );
561 else if ( name == QString( "indexes" ) )
563 QValueList<QVariant> lst;
564 for ( int i = 0; i < (int)myList->count(); i++ )
565 lst.append( myIndex.contains( i ) ? myIndex[i] : 0 );
566 val = QVariant( lst );
571 void QtxListResourceEdit::SelectItem::setProperty( const QString& name, const QVariant& val )
573 if ( name == QString( "strings" ) )
575 else if ( name == QString( "indexes" ) )
579 void QtxListResourceEdit::SelectItem::setStrings( const QVariant& var )
581 if ( var.type() != QVariant::StringList )
584 setStrings( var.toStringList() );
587 void QtxListResourceEdit::SelectItem::setIndexes( const QVariant& var )
589 if ( var.type() != QVariant::List )
592 QValueList<QVariant> varList = var.toList();
594 for ( QValueList<QVariant>::const_iterator it = varList.begin(); it != varList.end(); ++it )
596 if ( (*it).canCast( QVariant::Int ) )
597 lst.append( (*it).toInt() );
602 void QtxListResourceEdit::SelectItem::setStrings( const QStringList& lst )
605 myList->insertStringList( lst );
608 void QtxListResourceEdit::SelectItem::setIndexes( const QValueList<int>& lst )
613 for ( QValueList<int>::const_iterator it = lst.begin(); it != lst.end(); ++it, idx++ )
614 myIndex.insert( idx, *it );
618 Class: QtxListResourceEdit::StateItem
619 Descr: GUI implementation of resources bool item.
622 QtxListResourceEdit::StateItem::StateItem( const QString& title, QtxResourceEdit* edit,
623 Item* pItem, QWidget* parent )
624 : PrefItem( Bool, edit, pItem, parent )
626 myState = new QCheckBox( title, this );
627 myState->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
630 QtxListResourceEdit::StateItem::~StateItem()
634 void QtxListResourceEdit::StateItem::store()
636 setBoolean( myState->isChecked() );
639 void QtxListResourceEdit::StateItem::retrieve()
641 myState->setChecked( getBoolean() );
645 Class: QtxListResourceEdit::StringItem
646 Descr: GUI implementation of resources string item.
649 QtxListResourceEdit::StringItem::StringItem( const QString& title, QtxResourceEdit* edit,
650 Item* pItem, QWidget* parent )
651 : PrefItem( String, edit, pItem, parent )
653 new QLabel( title, this );
654 myString = new QLineEdit( this );
655 myString->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
658 QtxListResourceEdit::StringItem::~StringItem()
662 void QtxListResourceEdit::StringItem::store()
664 setString( myString->text() );
667 void QtxListResourceEdit::StringItem::retrieve()
669 myString->setText( getString() );
673 Class: QtxListResourceEdit::IntegerEditItem
674 Descr: GUI implementation of resources integer item.
677 QtxListResourceEdit::IntegerEditItem::IntegerEditItem( const QString& title, QtxResourceEdit* edit, Item* pItem, QWidget* parent )
678 : PrefItem( Integer, edit, pItem, parent )
680 new QLabel( title, this );
681 myInteger = new QLineEdit( this );
682 myInteger->setValidator( new QIntValidator( myInteger ) );
683 myInteger->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
686 QtxListResourceEdit::IntegerEditItem::~IntegerEditItem()
690 void QtxListResourceEdit::IntegerEditItem::store()
692 setString( myInteger->text() );
695 void QtxListResourceEdit::IntegerEditItem::retrieve()
697 myInteger->setText( getString() );
701 Class: QtxListResourceEdit::IntegerSpinItem
702 Descr: GUI implementation of resources integer item.
705 QtxListResourceEdit::IntegerSpinItem::IntegerSpinItem( const QString& title, QtxResourceEdit* edit, Item* pItem, QWidget* parent )
706 : PrefItem( IntSpin, edit, pItem, parent )
708 new QLabel( title, this );
709 myInteger = new QtxIntSpinBox( this );
710 myInteger->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
713 QtxListResourceEdit::IntegerSpinItem::~IntegerSpinItem()
717 void QtxListResourceEdit::IntegerSpinItem::store()
719 setInteger( myInteger->value() );
722 void QtxListResourceEdit::IntegerSpinItem::retrieve()
724 myInteger->setValue( getInteger() );
727 QVariant QtxListResourceEdit::IntegerSpinItem::property( const QString& name ) const
730 if ( name == QString( "minimum" ) || name == QString( "min" ) )
731 var = QVariant( myInteger->minValue() );
732 else if ( name == QString( "maximum" ) || name == QString( "max" ) )
733 var = QVariant( myInteger->maxValue() );
734 else if ( name == QString( "step" ) )
735 var = QVariant( myInteger->lineStep() );
736 else if ( name == QString( "special" ) )
737 var = QVariant( myInteger->specialValueText() );
738 else if ( name == QString( "prefix" ) )
739 var = QVariant( myInteger->prefix() );
740 else if ( name == QString( "suffix" ) )
741 var = QVariant( myInteger->suffix() );
745 void QtxListResourceEdit::IntegerSpinItem::setProperty( const QString& name, const QVariant& var )
749 if ( ( name == QString( "minimum" ) || name == QString( "min" ) ) && prop.cast( QVariant::Int ) )
750 myInteger->setMinValue( prop.toInt() );
751 else if ( ( name == QString( "maximum" ) || name == QString( "max" ) ) && prop.cast( QVariant::Int ) )
752 myInteger->setMaxValue( prop.toInt() );
753 else if ( name == QString( "step" ) && prop.cast( QVariant::Int ) && prop.toInt() > 0 )
754 myInteger->setLineStep( prop.toInt() );
755 else if ( name == QString( "special" ) && prop.cast( QVariant::String ) )
756 myInteger->setSpecialValueText( prop.toString() );
757 else if ( name == QString( "prefix" ) && prop.cast( QVariant::String ) )
758 myInteger->setPrefix( prop.toString() );
759 else if ( name == QString( "suffix" ) && prop.cast( QVariant::String ) )
760 myInteger->setSuffix( prop.toString() );
764 Class: QtxListResourceEdit::DoubleEditItem
765 Descr: GUI implementation of resources string item.
768 QtxListResourceEdit::DoubleEditItem::DoubleEditItem( const QString& title, QtxResourceEdit* edit,
769 Item* pItem, QWidget* parent )
770 : PrefItem( Double, edit, pItem, parent )
772 new QLabel( title, this );
773 myDouble = new QLineEdit( this );
774 myDouble->setValidator( new QDoubleValidator( myDouble ) );
775 myDouble->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
778 QtxListResourceEdit::DoubleEditItem::~DoubleEditItem()
782 void QtxListResourceEdit::DoubleEditItem::store()
784 setString( myDouble->text() );
787 void QtxListResourceEdit::DoubleEditItem::retrieve()
789 myDouble->setText( getString() );
793 Class: QtxListResourceEdit::DoubleSpinItem
794 Descr: GUI implementation of resources double item.
797 QtxListResourceEdit::DoubleSpinItem::DoubleSpinItem( const QString& title, QtxResourceEdit* edit,
798 Item* pItem, QWidget* parent )
799 : PrefItem( DblSpin, edit, pItem, parent )
801 new QLabel( title, this );
802 myDouble = new QtxDblSpinBox( this );
803 myDouble->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
806 QtxListResourceEdit::DoubleSpinItem::~DoubleSpinItem()
810 void QtxListResourceEdit::DoubleSpinItem::store()
812 setDouble( myDouble->value() );
815 void QtxListResourceEdit::DoubleSpinItem::retrieve()
817 myDouble->setValue( getDouble() );
820 QVariant QtxListResourceEdit::DoubleSpinItem::property( const QString& name ) const
823 if ( name == QString( "minimum" ) || name == QString( "min" ) )
824 var = QVariant( myDouble->minValue() );
825 else if ( name == QString( "maximum" ) || name == QString( "max" ) )
826 var = QVariant( myDouble->maxValue() );
827 else if ( name == QString( "precision" ) )
828 var = QVariant( myDouble->precision() );
829 else if ( name == QString( "step" ) )
830 var = QVariant( myDouble->lineStep() );
831 else if ( name == QString( "special" ) )
832 var = QVariant( myDouble->specialValueText() );
833 else if ( name == QString( "prefix" ) )
834 var = QVariant( myDouble->prefix() );
835 else if ( name == QString( "suffix" ) )
836 var = QVariant( myDouble->suffix() );
840 void QtxListResourceEdit::DoubleSpinItem::setProperty( const QString& name, const QVariant& var )
844 if ( ( name == QString( "minimum" ) || name == QString( "min" ) ) && prop.cast( QVariant::Double ) )
845 myDouble->setMinValue( prop.toDouble() );
846 else if ( ( name == QString( "maximum" ) || name == QString( "max" ) ) && prop.cast( QVariant::Double ) )
847 myDouble->setMaxValue( prop.toDouble() );
848 else if ( name == QString( "step" ) && prop.cast( QVariant::Double ) && prop.toDouble() > 0 )
849 myDouble->setLineStep( prop.toDouble() );
850 else if ( name == QString( "precision" ) && prop.cast( QVariant::Int ) && prop.toInt() > 0 )
851 myDouble->setPrecision( prop.toInt() );
852 else if ( name == QString( "special" ) && prop.cast( QVariant::String ) )
853 myDouble->setSpecialValueText( prop.toString() );
854 else if ( name == QString( "prefix" ) && prop.cast( QVariant::String ) )
855 myDouble->setPrefix( prop.toString() );
856 else if ( name == QString( "suffix" ) && prop.cast( QVariant::String ) )
857 myDouble->setSuffix( prop.toString() );
861 Class: QtxListResourceEdit::ColorItem
862 Descr: GUI implementation of resources color item.
865 QtxListResourceEdit::ColorItem::ColorItem( const QString& title, QtxResourceEdit* edit,
866 Item* pItem, QWidget* parent )
867 : PrefItem( Color, edit, pItem, parent )
869 class ColorSelector : public QLabel
872 ColorSelector( QWidget* parent = 0 ) : QLabel( parent )
874 setFrameStyle( WinPanel | Raised );
876 virtual ~ColorSelector() {}
877 virtual QSize minimumSizeHint() const
879 return QLabel::minimumSizeHint() + QSize( 0, 2 );
883 virtual void mousePressEvent( QMouseEvent* e )
885 if ( e->button() == LeftButton )
887 setFrameStyle( WinPanel | Sunken );
888 QColor c = QColorDialog::getColor( paletteBackgroundColor(), this );
890 setPaletteBackgroundColor( c );
892 setFrameStyle( WinPanel | Raised );
897 new QLabel( title, this );
898 myColor = new ColorSelector( this );
899 myColor->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
902 QtxListResourceEdit::ColorItem::~ColorItem()
906 void QtxListResourceEdit::ColorItem::store()
908 setColor( myColor->paletteBackgroundColor() );
911 void QtxListResourceEdit::ColorItem::retrieve()
913 myColor->setPaletteBackgroundColor( getColor() );
918 Class: QtxListResourceEdit::FontItem
919 Descr: GUI implementation of resources font item.
921 QtxListResourceEdit::FontItem::FontItem( const QString& title, QtxResourceEdit* edit, Item* pItem, QWidget* parent )
922 : PrefItem( Font, edit, pItem, parent )
924 new QLabel( title, this );
925 myFontPrs = new QLabel( "", this );
926 myFontPrs->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
927 myFontPrs->setAutoResize( true );
928 myFontPrs->setAlignment( Qt::AlignLeft );
930 QToolButton* selFont = new QToolButton( this );
931 selFont->setSizePolicy( QSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed ) );
932 selFont->setText( "..." );
933 connect( selFont, SIGNAL( clicked() ), this, SLOT( onSelectFont() ) );
936 QtxListResourceEdit::FontItem::~FontItem()
940 void QtxListResourceEdit::FontItem::store()
942 Item::setFont( myFont );
945 void QtxListResourceEdit::FontItem::retrieve()
951 void QtxListResourceEdit::FontItem::buildFontPrs()
954 fval.append( myFont.family() );
956 fval.append( "Bold" );
957 if( myFont.italic() )
958 fval.append( "Italic" );
959 fval.append( QString( "%1" ).arg( myFont.pointSize() ) );
961 myFontPrs->setText( fval.join( ", " ) );
964 void QtxListResourceEdit::FontItem::onSelectFont()
967 QFont newFont = QFontDialog::getFont( &ok, myFont, this );