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