ViewDialog.cpp   ViewDialog.cpp 
skipping to change at line 27 skipping to change at line 27
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, U SA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, U SA.
*/ */
#include "ViewDialog.hpp" #include "ViewDialog.hpp"
#include "ui_viewDialog.h" #include "ui_viewDialog.h"
#include "StelApp.hpp" #include "StelApp.hpp"
#include "StelCore.hpp" #include "StelCore.hpp"
#include "StelSkyCultureMgr.hpp" #include "StelSkyCultureMgr.hpp"
#include "StelFileMgr.hpp" #include "StelFileMgr.hpp"
#include "StelLocaleMgr.hpp" #include "StelLocaleMgr.hpp"
#include "Mapping.hpp" #include "StelProjector.hpp"
#include "Projector.hpp"
#include "LandscapeMgr.hpp" #include "LandscapeMgr.hpp"
#include "StelModuleMgr.hpp" #include "StelModuleMgr.hpp"
#include "StarMgr.hpp" #include "StarMgr.hpp"
#include "SkyDrawer.hpp" #include "StelSkyDrawer.hpp"
#include "SolarSystem.hpp" #include "SolarSystem.hpp"
#include "NebulaMgr.hpp" #include "NebulaMgr.hpp"
#include "MeteorMgr.hpp" #include "MeteorMgr.hpp"
#include "GridLinesMgr.hpp" #include "GridLinesMgr.hpp"
#include "ConstellationMgr.hpp" #include "ConstellationMgr.hpp"
#include "StelStyle.hpp" #include "StelStyle.hpp"
#include <QDebug> #include <QDebug>
#include <QFrame> #include <QFrame>
#include <QFile> #include <QFile>
skipping to change at line 85 skipping to change at line 84
} }
} }
void ViewDialog::createDialogContent() void ViewDialog::createDialogContent()
{ {
ui->setupUi(dialog); ui->setupUi(dialog);
// Set the Sky tab activated by default // Set the Sky tab activated by default
ui->viewTabWidget->setCurrentIndex(0); ui->viewTabWidget->setCurrentIndex(0);
ui->viewTabWidget->removeTab(4);
connect(ui->closeStelWindow, SIGNAL(clicked()), this, SLOT(close())) ; connect(ui->closeStelWindow, SIGNAL(clicked()), this, SLOT(close())) ;
populateLists(); populateLists();
connect(ui->culturesListWidget, SIGNAL(currentTextChanged(const QStr ing&)), this, SLOT(skyCultureChanged(const QString&))); connect(ui->culturesListWidget, SIGNAL(currentTextChanged(const QStr ing&)), this, SLOT(skyCultureChanged(const QString&)));
connect(ui->projectionListWidget, SIGNAL(currentTextChanged(const QS tring&)), this, SLOT(projectionChanged(const QString&))); connect(ui->projectionListWidget, SIGNAL(currentTextChanged(const QS tring&)), this, SLOT(projectionChanged(const QString&)));
connect(ui->landscapesListWidget, SIGNAL(itemClicked(QListWidgetItem *)), this, SLOT(landscapeChanged(QListWidgetItem*))); connect(ui->landscapesListWidget, SIGNAL(itemClicked(QListWidgetItem *)), this, SLOT(landscapeChanged(QListWidgetItem*)));
// Connect and initialize checkboxes and other widgets // Connect and initialize checkboxes and other widgets
// Stars section // Stars section
QAction* a; QAction* a;
StarMgr* smgr = (StarMgr*)GETSTELMODULE("StarMgr");
// ui->showStarsCheckBox->setChecked(smgr->getFlagStars());
// a = StelMainGraphicsView::getInstance().findChild<QAction*>("actionS
how_Stars");
// connect(a, SIGNAL(toggled(bool)), ui->showStarsCheckBox, SLOT(setChe
cked(bool)));
// connect(ui->showStarsCheckBox, SIGNAL(toggled(bool)), a, SLOT(setChe
cked(bool)));
ui->starTwinkleCheckBox->setChecked(StelApp::getInstance().getCore() ->getSkyDrawer()->getFlagTwinkle()); ui->starTwinkleCheckBox->setChecked(StelApp::getInstance().getCore() ->getSkyDrawer()->getFlagTwinkle());
connect(ui->starTwinkleCheckBox, SIGNAL(toggled(bool)), StelApp::get Instance().getCore()->getSkyDrawer(), SLOT(setFlagTwinkle(bool))); connect(ui->starTwinkleCheckBox, SIGNAL(toggled(bool)), StelApp::get Instance().getCore()->getSkyDrawer(), SLOT(setFlagTwinkle(bool)));
ui->starScaleRadiusDoubleSpinBox->setValue(StelApp::getInstance().ge tCore()->getSkyDrawer()->getAbsoluteStarScale()); ui->starScaleRadiusDoubleSpinBox->setValue(StelApp::getInstance().ge tCore()->getSkyDrawer()->getAbsoluteStarScale());
connect(ui->starScaleRadiusDoubleSpinBox, SIGNAL(valueChanged(double )), StelApp::getInstance().getCore()->getSkyDrawer(), SLOT(setAbsoluteStarS cale(double))); connect(ui->starScaleRadiusDoubleSpinBox, SIGNAL(valueChanged(double )), StelApp::getInstance().getCore()->getSkyDrawer(), SLOT(setAbsoluteStarS cale(double)));
ui->starRelativeScaleDoubleSpinBox->setValue(StelApp::getInstance(). getCore()->getSkyDrawer()->getRelativeStarScale()); ui->starRelativeScaleDoubleSpinBox->setValue(StelApp::getInstance(). getCore()->getSkyDrawer()->getRelativeStarScale());
connect(ui->starRelativeScaleDoubleSpinBox, SIGNAL(valueChanged(doub le)), StelApp::getInstance().getCore()->getSkyDrawer(), SLOT(setRelativeSta rScale(double))); connect(ui->starRelativeScaleDoubleSpinBox, SIGNAL(valueChanged(doub le)), StelApp::getInstance().getCore()->getSkyDrawer(), SLOT(setRelativeSta rScale(double)));
skipping to change at line 123 skipping to change at line 119
ui->adaptationCheckbox->setChecked(StelApp::getInstance().getCore()- >getSkyDrawer()->getFlagLuminanceAdaptation()); ui->adaptationCheckbox->setChecked(StelApp::getInstance().getCore()- >getSkyDrawer()->getFlagLuminanceAdaptation());
connect(ui->adaptationCheckbox, SIGNAL(toggled(bool)), StelApp::getI nstance().getCore()->getSkyDrawer(), SLOT(setFlagLuminanceAdaptation(bool)) ); connect(ui->adaptationCheckbox, SIGNAL(toggled(bool)), StelApp::getI nstance().getCore()->getSkyDrawer(), SLOT(setFlagLuminanceAdaptation(bool)) );
// Planets section // Planets section
SolarSystem* ssmgr = (SolarSystem*)GETSTELMODULE("SolarSystem"); SolarSystem* ssmgr = (SolarSystem*)GETSTELMODULE("SolarSystem");
ui->showPlanetCheckBox->setChecked(ssmgr->getFlagPlanets()); ui->showPlanetCheckBox->setChecked(ssmgr->getFlagPlanets());
connect(ui->showPlanetCheckBox, SIGNAL(toggled(bool)), ssmgr, SLOT(s etFlagPlanets(bool))); connect(ui->showPlanetCheckBox, SIGNAL(toggled(bool)), ssmgr, SLOT(s etFlagPlanets(bool)));
ui->planetMarkerCheckBox->setChecked(ssmgr->getFlagHints()); ui->planetMarkerCheckBox->setChecked(ssmgr->getFlagHints());
a = StelMainGraphicsView::getInstance().findChild<QAction*>("actionS connect(ui->planetMarkerCheckBox, SIGNAL(toggled(bool)), ssmgr, SLOT
how_Planets_Hints"); (setFlagHints(bool)));
connect(a, SIGNAL(toggled(bool)), ui->planetMarkerCheckBox, SLOT(set
Checked(bool)));
connect(ui->planetMarkerCheckBox, SIGNAL(toggled(bool)), a, SLOT(set
Checked(bool)));
ui->planetScaleMoonCheckBox->setChecked(ssmgr->getFlagMoonScale()); ui->planetScaleMoonCheckBox->setChecked(ssmgr->getFlagMoonScale());
connect(ui->planetScaleMoonCheckBox, SIGNAL(toggled(bool)), ssmgr, S LOT(setFlagMoonScale(bool))); connect(ui->planetScaleMoonCheckBox, SIGNAL(toggled(bool)), ssmgr, S LOT(setFlagMoonScale(bool)));
ui->planetOrbitCheckBox->setChecked(ssmgr->getFlagOrbits()); ui->planetOrbitCheckBox->setChecked(ssmgr->getFlagOrbits());
connect(ui->planetOrbitCheckBox, SIGNAL(toggled(bool)), ssmgr, SLOT( setFlagOrbits(bool))); connect(ui->planetOrbitCheckBox, SIGNAL(toggled(bool)), ssmgr, SLOT( setFlagOrbits(bool)));
ui->planetLightSpeedCheckBox->setChecked(ssmgr->getFlagLightTravelTi me()); ui->planetLightSpeedCheckBox->setChecked(ssmgr->getFlagLightTravelTi me());
connect(ui->planetLightSpeedCheckBox, SIGNAL(toggled(bool)), ssmgr, SLOT(setFlagLightTravelTime(bool))); connect(ui->planetLightSpeedCheckBox, SIGNAL(toggled(bool)), ssmgr, SLOT(setFlagLightTravelTime(bool)));
// Shooting stars section // Shooting stars section
MeteorMgr* mmgr = (MeteorMgr*)GETSTELMODULE("MeteorMgr"); MeteorMgr* mmgr = (MeteorMgr*)GETSTELMODULE("MeteorMgr");
assert(mmgr); Q_ASSERT(mmgr);
switch(mmgr->getZHR()) switch(mmgr->getZHR())
{ {
case 0: ui->zhrNone->setChecked(true); break; case 0: ui->zhrNone->setChecked(true); break;
case 80: ui->zhr80->setChecked(true); break; case 80: ui->zhr80->setChecked(true); break;
case 10000: ui->zhr10000->setChecked(true); break; case 10000: ui->zhr10000->setChecked(true); break;
case 144000: ui->zhr144000->setChecked(true); break; case 144000: ui->zhr144000->setChecked(true); break;
default: ui->zhr10->setChecked(true); break; default: ui->zhr10->setChecked(true); break;
} }
shootingStarsZHRChanged(); shootingStarsZHRChanged();
connect(ui->zhrNone, SIGNAL(clicked()), this, SLOT(shootingStarsZHRC hanged())); connect(ui->zhrNone, SIGNAL(clicked()), this, SLOT(shootingStarsZHRC hanged()));
connect(ui->zhr10, SIGNAL(clicked()), this, SLOT(shootingStarsZHRCha nged())); connect(ui->zhr10, SIGNAL(clicked()), this, SLOT(shootingStarsZHRCha nged()));
connect(ui->zhr80, SIGNAL(clicked()), this, SLOT(shootingStarsZHRCha nged())); connect(ui->zhr80, SIGNAL(clicked()), this, SLOT(shootingStarsZHRCha nged()));
connect(ui->zhr10000, SIGNAL(clicked()), this, SLOT(shootingStarsZHR Changed())); connect(ui->zhr10000, SIGNAL(clicked()), this, SLOT(shootingStarsZHR Changed()));
connect(ui->zhr144000, SIGNAL(clicked()), this, SLOT(shootingStarsZH RChanged())); connect(ui->zhr144000, SIGNAL(clicked()), this, SLOT(shootingStarsZH RChanged()));
// Labels section // Labels section
StarMgr* smgr = (StarMgr*)GETSTELMODULE("StarMgr");
ui->starLabelCheckBox->setChecked(smgr->getFlagLabels()); ui->starLabelCheckBox->setChecked(smgr->getFlagLabels());
connect(ui->starLabelCheckBox, SIGNAL(toggled(bool)), smgr, SLOT(set FlagLabels(bool))); connect(ui->starLabelCheckBox, SIGNAL(toggled(bool)), smgr, SLOT(set FlagLabels(bool)));
NebulaMgr* nmgr = (NebulaMgr*)GETSTELMODULE("NebulaMgr"); NebulaMgr* nmgr = (NebulaMgr*)GETSTELMODULE("NebulaMgr");
ui->nebulaLabelCheckBox->setChecked(nmgr->getFlagHints()); ui->nebulaLabelCheckBox->setChecked(nmgr->getFlagHints());
a = StelMainGraphicsView::getInstance().findChild<QAction*>("actionS how_Nebulas"); a = StelMainGraphicsView::getInstance().findChild<QAction*>("actionS how_Nebulas");
connect(a, SIGNAL(toggled(bool)), ui->nebulaLabelCheckBox, SLOT(setC hecked(bool))); connect(a, SIGNAL(toggled(bool)), ui->nebulaLabelCheckBox, SLOT(setC hecked(bool)));
connect(ui->nebulaLabelCheckBox, SIGNAL(toggled(bool)), a, SLOT(setC hecked(bool))); connect(ui->nebulaLabelCheckBox, SIGNAL(toggled(bool)), a, SLOT(setC hecked(bool)));
ui->planetLabelCheckBox->setChecked(ssmgr->getFlagLabels()); ui->planetLabelCheckBox->setChecked(ssmgr->getFlagLabels());
skipping to change at line 222 skipping to change at line 217
ui->showMeridianLineCheckBox->setChecked(glmgr->getFlagMeridianLine( )); ui->showMeridianLineCheckBox->setChecked(glmgr->getFlagMeridianLine( ));
a = StelMainGraphicsView::getInstance().findChild<QAction*>("actionS how_Meridian_Line"); a = StelMainGraphicsView::getInstance().findChild<QAction*>("actionS how_Meridian_Line");
connect(a, SIGNAL(toggled(bool)), ui->showMeridianLineCheckBox, SLOT (setChecked(bool))); connect(a, SIGNAL(toggled(bool)), ui->showMeridianLineCheckBox, SLOT (setChecked(bool)));
connect(ui->showMeridianLineCheckBox, SIGNAL(toggled(bool)), a, SLOT (setChecked(bool))); connect(ui->showMeridianLineCheckBox, SIGNAL(toggled(bool)), a, SLOT (setChecked(bool)));
ui->showEquatorialGridCheckBox->setChecked(glmgr->getFlagEquatorGrid ()); ui->showEquatorialGridCheckBox->setChecked(glmgr->getFlagEquatorGrid ());
a = StelMainGraphicsView::getInstance().findChild<QAction*>("actionS how_Equatorial_Grid"); a = StelMainGraphicsView::getInstance().findChild<QAction*>("actionS how_Equatorial_Grid");
connect(a, SIGNAL(toggled(bool)), ui->showEquatorialGridCheckBox, SL OT(setChecked(bool))); connect(a, SIGNAL(toggled(bool)), ui->showEquatorialGridCheckBox, SL OT(setChecked(bool)));
connect(ui->showEquatorialGridCheckBox, SIGNAL(toggled(bool)), a, SL OT(setChecked(bool))); connect(ui->showEquatorialGridCheckBox, SIGNAL(toggled(bool)), a, SL OT(setChecked(bool)));
ui->showAzimutalGridCheckBox->setChecked(glmgr->getFlagAzimutalGrid( ui->showAzimuthalGridCheckBox->setChecked(glmgr->getFlagAzimuthalGri
)); d());
a = StelMainGraphicsView::getInstance().findChild<QAction*>("actionS a = StelMainGraphicsView::getInstance().findChild<QAction*>("actionS
how_Azimutal_Grid"); how_Azimuthal_Grid");
connect(a, SIGNAL(toggled(bool)), ui->showAzimutalGridCheckBox, SLOT connect(a, SIGNAL(toggled(bool)), ui->showAzimuthalGridCheckBox, SLO
(setChecked(bool))); T(setChecked(bool)));
connect(ui->showAzimutalGridCheckBox, SIGNAL(toggled(bool)), a, SLOT connect(ui->showAzimuthalGridCheckBox, SIGNAL(toggled(bool)), a, SLO
(setChecked(bool))); T(setChecked(bool)));
ui->showEquatorialJ2000GridCheckBox->setChecked(glmgr->getFlagEquato rJ2000Grid()); ui->showEquatorialJ2000GridCheckBox->setChecked(glmgr->getFlagEquato rJ2000Grid());
a = StelMainGraphicsView::getInstance().findChild<QAction*>("actionS how_Equatorial_J2000_Grid"); a = StelMainGraphicsView::getInstance().findChild<QAction*>("actionS how_Equatorial_J2000_Grid");
connect(a, SIGNAL(toggled(bool)), ui->showEquatorialJ2000GridCheckBo x, SLOT(setChecked(bool))); connect(a, SIGNAL(toggled(bool)), ui->showEquatorialJ2000GridCheckBo x, SLOT(setChecked(bool)));
connect(ui->showEquatorialJ2000GridCheckBox, SIGNAL(toggled(bool)), a, SLOT(setChecked(bool))); connect(ui->showEquatorialJ2000GridCheckBox, SIGNAL(toggled(bool)), a, SLOT(setChecked(bool)));
ui->showCardinalPointsCheckBox->setChecked(lmgr->getFlagCardinalsPoi nts()); ui->showCardinalPointsCheckBox->setChecked(lmgr->getFlagCardinalsPoi nts());
a = StelMainGraphicsView::getInstance().findChild<QAction*>("actionS how_Cardinal_Points"); a = StelMainGraphicsView::getInstance().findChild<QAction*>("actionS how_Cardinal_Points");
connect(a, SIGNAL(toggled(bool)), ui->showCardinalPointsCheckBox, SL OT(setChecked(bool))); connect(a, SIGNAL(toggled(bool)), ui->showCardinalPointsCheckBox, SL OT(setChecked(bool)));
connect(ui->showCardinalPointsCheckBox, SIGNAL(toggled(bool)), a, SL OT(setChecked(bool))); connect(ui->showCardinalPointsCheckBox, SIGNAL(toggled(bool)), a, SL OT(setChecked(bool)));
skipping to change at line 285 skipping to change at line 280
{ {
// Fill the culture list widget from the available list // Fill the culture list widget from the available list
QListWidget* l = ui->culturesListWidget; QListWidget* l = ui->culturesListWidget;
l->blockSignals(true); l->blockSignals(true);
l->clear(); l->clear();
l->addItems(StelApp::getInstance().getSkyCultureMgr().getSkyCultureL istI18()); l->addItems(StelApp::getInstance().getSkyCultureMgr().getSkyCultureL istI18());
l->setCurrentItem(l->findItems(StelApp::getInstance().getSkyCultureM gr().getCurrentSkyCultureNameI18(), Qt::MatchExactly).at(0)); l->setCurrentItem(l->findItems(StelApp::getInstance().getSkyCultureM gr().getCurrentSkyCultureNameI18(), Qt::MatchExactly).at(0));
l->blockSignals(false); l->blockSignals(false);
updateSkyCultureText(); updateSkyCultureText();
const StelCore* core = StelApp::getInstance().getCore();
// Fill the projection list // Fill the projection list
l = ui->projectionListWidget; l = ui->projectionListWidget;
l->blockSignals(true); l->blockSignals(true);
l->clear(); l->clear();
const QMap<QString, const Mapping*>& mappings = StelApp::getInstance const QStringList mappings = core->getAllProjectionTypeKeys();
().getCore()->getProjection()->getAllMappings(); foreach (QString s, mappings)
QMapIterator<QString, const Mapping*> i(mappings);
while (i.hasNext())
{ {
i.next(); l->addItem(core->projectionTypeKeyToNameI18n(s));
l->addItem(i.value()->getNameI18());
} }
l->setCurrentItem(l->findItems(StelApp::getInstance().getCore()->get Projection()->getCurrentMapping().getNameI18(), Qt::MatchExactly).at(0)); l->setCurrentItem(l->findItems(core->projectionTypeKeyToNameI18n(cor e->getCurrentProjectionTypeKey()), Qt::MatchExactly).at(0));
l->blockSignals(false); l->blockSignals(false);
ui->projectionTextBrowser->setHtml(StelApp::getInstance().getCore()- >getProjection()->getCurrentMapping().getHtmlSummary()); ui->projectionTextBrowser->setHtml(core->getProjection(Mat4d())->get HtmlSummary());
// Fill the landscape list // Fill the landscape list
l = ui->landscapesListWidget; l = ui->landscapesListWidget;
l->blockSignals(true); l->blockSignals(true);
l->clear(); l->clear();
LandscapeMgr* lmgr = (LandscapeMgr*)GETSTELMODULE("LandscapeMgr"); LandscapeMgr* lmgr = (LandscapeMgr*)GETSTELMODULE("LandscapeMgr");
l->addItems(lmgr->getAllLandscapeNames()); l->addItems(lmgr->getAllLandscapeNames());
l->setCurrentItem(l->findItems(lmgr->getCurrentLandscapeName(), Qt:: MatchExactly).at(0)); l->setCurrentItem(l->findItems(lmgr->getCurrentLandscapeName(), Qt:: MatchExactly).at(0));
l->blockSignals(false); l->blockSignals(false);
ui->landscapeTextBrowser->setHtml(lmgr->getCurrentLandscapeHtmlDescr iption()); ui->landscapeTextBrowser->setHtml(lmgr->getCurrentLandscapeHtmlDescr iption());
skipping to change at line 354 skipping to change at line 349
ui->skyCultureTextBrowser->setHtml(q_("No description")); ui->skyCultureTextBrowser->setHtml(q_("No description"));
} }
else else
{ {
QFile f(descPath); QFile f(descPath);
f.open(QIODevice::ReadOnly); f.open(QIODevice::ReadOnly);
ui->skyCultureTextBrowser->setHtml(QString::fromUtf8(f.readA ll())); ui->skyCultureTextBrowser->setHtml(QString::fromUtf8(f.readA ll()));
} }
} }
void ViewDialog::projectionChanged(const QString& projectionName) void ViewDialog::projectionChanged(const QString& projectionNameI18n)
{ {
const QMap<QString, const Mapping*>& mappings = StelApp::getInstance StelCore* core = StelApp::getInstance().getCore();
().getCore()->getProjection()->getAllMappings(); core->setCurrentProjectionTypeKey(core->projectionNameI18nToTypeKey(
QMapIterator<QString, const Mapping*> i(mappings); projectionNameI18n));
while (i.hasNext())
{
i.next();
if (i.value()->getNameI18() == projectionName)
break;
}
StelApp::getInstance().getCore()->getProjection()->setCurrentMapping
(i.value()->getId());
ui->projectionTextBrowser->document()->setDefaultStyleSheet(QString( StelApp::getInstance().getCurrentStelStyle()->htmlStyleSheet)); ui->projectionTextBrowser->document()->setDefaultStyleSheet(QString( StelApp::getInstance().getCurrentStelStyle()->htmlStyleSheet));
ui->projectionTextBrowser->setHtml(StelApp::getInstance().getCore()- >getProjection()->getCurrentMapping().getHtmlSummary()); ui->projectionTextBrowser->setHtml(core->getProjection(Mat4d())->get HtmlSummary());
} }
void ViewDialog::landscapeChanged(QListWidgetItem* item) void ViewDialog::landscapeChanged(QListWidgetItem* item)
{ {
LandscapeMgr* lmgr = (LandscapeMgr*)GETSTELMODULE("LandscapeMgr"); LandscapeMgr* lmgr = (LandscapeMgr*)GETSTELMODULE("LandscapeMgr");
lmgr->setCurrentLandscapeName(item->text()); lmgr->setCurrentLandscapeName(item->text());
ui->landscapeTextBrowser->document()->setDefaultStyleSheet(QString(S telApp::getInstance().getCurrentStelStyle()->htmlStyleSheet)); ui->landscapeTextBrowser->document()->setDefaultStyleSheet(QString(S telApp::getInstance().getCurrentStelStyle()->htmlStyleSheet));
ui->landscapeTextBrowser->setHtml(lmgr->getCurrentLandscapeHtmlDescr iption()); ui->landscapeTextBrowser->setHtml(lmgr->getCurrentLandscapeHtmlDescr iption());
ui->useAsDefaultLandscapeCheckBox->setChecked(lmgr->getDefaultLandsc apeID()==lmgr->getCurrentLandscapeID()); ui->useAsDefaultLandscapeCheckBox->setChecked(lmgr->getDefaultLandsc apeID()==lmgr->getCurrentLandscapeID());
ui->useAsDefaultLandscapeCheckBox->setEnabled(lmgr->getDefaultLandsc apeID()!=lmgr->getCurrentLandscapeID()); ui->useAsDefaultLandscapeCheckBox->setEnabled(lmgr->getDefaultLandsc apeID()!=lmgr->getCurrentLandscapeID());
 End of changes. 16 change blocks. 
48 lines changed or deleted 28 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/