00001
00012 #include "ListDialog.h"
00013
00014 #if QT_VERSION < 0x040000
00015 #include <qlistview.h>
00016 #else
00017 #include <q3listview.h>
00018 #endif
00019
00020 using std::string;
00021
00022 #if QT_VERSION < 0x040000
00023 ListDialog::
00024 ListDialog ( QWidget * parent )
00025 : ListDialogBase ( parent )
00026 {
00027 }
00028 #else
00029 ListDialog::
00030 ListDialog ( QWidget * parent )
00031 : QDialog ( parent )
00032 {
00033 setupUi ( this );
00034 }
00035 #endif
00036
00037 void
00038 ListDialog::
00039 setNames ( const std::vector < std::string > & names )
00040 {
00041 for ( unsigned int i = 0; i < names.size (); i++ ) {
00042 const string & n = names[i];
00043 QString name ( n.c_str() );
00044 #if QT_VERSION < 0x040000
00045 QListViewItem * item
00046 = new QListViewItem ( m_tuple_list,
00047 QString ( "%1" ).arg ( i+1 ),
00048 QString ( name ) );
00049 #else
00050 Q3ListViewItem * item
00051 = new Q3ListViewItem ( m_tuple_list,
00052 QString ( "%1" ).arg ( i+1 ),
00053 QString ( name ) );
00054 #endif
00055 m_item_list.push_back ( item );
00056 }
00057 #if QT_VERSION < 0x040000
00058 m_tuple_list -> setSelectionMode ( QListView::Single );
00059 #else
00060 m_tuple_list -> setSelectionMode ( Q3ListView::Single );
00061 #endif
00062 m_tuple_list ->setSelected ( m_item_list[0], true );
00063 }
00064
00065 unsigned int
00066 ListDialog::
00067 selectedItem () const
00068 {
00069 unsigned int index = m_item_list.size();
00070 for ( unsigned int i = 0; i < m_item_list.size(); i++ ) {
00071 #if QT_VERSION < 0x040000
00072 QListViewItem * item = m_item_list[i];
00073 #else
00074 Q3ListViewItem * item = m_item_list[i];
00075 #endif
00076 if ( item -> isSelected () ) {
00077 index = i;
00078 break;
00079 }
00080 }
00081
00082 return index;
00083 }
00084
00085 void
00086 ListDialog::
00087 doubleClicked ( )
00088 {
00089 unsigned int item = selectedItem ();
00090 done ( item );
00091 }
00092