#include <viewmode.h>
Collaboration diagram for ViewModes:
Public Member Functions | |
ViewModes (const QString &viewMode, TrapperDoc *doc) | |
~ViewModes () | |
QString | mode () |
void | setMode (QString) |
ViewMode * | currentViewMode () |
Protected Member Functions | |
void | initFeatureIterators (TrapperDoc *) |
Protected Attributes | |
QString | m_name |
QDict< ViewMode > | viewModeDict |
SecItDict | secItDict |
ViewMode * | m_currentViewMode |
Definition at line 68 of file viewmode.h.
ViewModes::ViewModes | ( | const QString & | viewMode, | |
TrapperDoc * | doc | |||
) |
Definition at line 109 of file viewmode.cpp.
References initFeatureIterators(), QDict::insert(), TrapperConf::instance(), QDomNode::isElement(), QDomNode::isNull(), m_currentViewMode, QDomNode::nextSibling(), QDomNode::nodeName(), secItDict, QDict::setAutoDelete(), setMode(), QDomNode::toElement(), TrapperConf::viewModeConf(), and viewModeDict.
00110 { 00111 secItDict.setAutoDelete( true ); 00112 00113 00114 m_currentViewMode = NULL; 00115 initFeatureIterators(doc); 00116 TrapperConf * conf = TrapperConf::instance(); 00117 QDomElement confElem = conf->viewModeConf(); 00118 00119 QDomNode node = confElem.firstChild(); 00120 while ( !node.isNull() ) 00121 { 00122 if ( node.isElement() && node.nodeName() == "modeView" ) 00123 { 00124 QDomElement e = node.toElement(); 00125 ViewMode * m = new ViewMode( e, secItDict ); 00126 viewModeDict.insert( node.toElement().attribute("name",""), m ); 00127 } 00128 node = node.nextSibling(); 00129 } 00130 setMode(viewMode); 00131 }
ViewModes::~ViewModes | ( | ) | [inline] |
void ViewModes::setMode | ( | QString | ) |
Definition at line 133 of file viewmode.cpp.
References m_currentViewMode, mode(), and viewModeDict.
Referenced by TrapperView::slotSwitchToMode(), and ViewModes().
00134 { 00135 // cerr<<"******************* mode: "<<mode<<endl; 00136 m_currentViewMode = viewModeDict[mode]; 00137 Q_CHECK_PTR( m_currentViewMode ); 00138 }
ViewMode * ViewModes::currentViewMode | ( | ) |
Definition at line 141 of file viewmode.cpp.
References m_currentViewMode.
Referenced by TrapperView::mode(), and TrapperView::paintFeatures().
00142 { 00143 return m_currentViewMode; 00144 }
void ViewModes::initFeatureIterators | ( | TrapperDoc * | ) | [protected] |
Definition at line 145 of file viewmode.cpp.
References QDict::insert(), GeneralMaker::listRegistered(), GeneralMaker::newData(), and secItDict.
Referenced by ViewModes().
00146 { 00147 std::list< std::string > aList = GeneralMaker::listRegistered(); 00148 for ( std::list< std::string >::iterator it = aList.begin(); it != aList.end(); ++it ) 00149 { 00150 GeneralData * data = GeneralMaker::newData( *it ); 00151 SpatialFeatureData * fdata = dynamic_cast<SpatialFeatureData *>( data ); 00152 // fdata is just used to see that the registered string is corresponding to 00153 // a feature 00154 if ( fdata ) 00155 { 00156 00157 Database::SecondaryIterator<SpatialFeatureData> * secIt = 00158 new Database::SecondaryIterator<SpatialFeatureData>( "readRecno", doc, it->c_str() ); 00159 secItDict.insert(it->c_str(), secIt); 00160 } 00161 00162 delete data; 00163 data = NULL; 00164 } 00165 }
QString ViewModes::m_name [protected] |
Definition at line 81 of file viewmode.h.
QDict<ViewMode> ViewModes::viewModeDict [protected] |
SecItDict ViewModes::secItDict [protected] |
ViewMode* ViewModes::m_currentViewMode [protected] |
Definition at line 84 of file viewmode.h.
Referenced by currentViewMode(), setMode(), and ViewModes().