SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GUISettingsHandler Class Reference

An XML-handler for visualisation schemes. More...

#include <GUISettingsHandler.h>

Inheritance diagram for GUISettingsHandler:
SUMOSAXHandler GenericSAXHandler DefaultHandler

Public Member Functions

std::string addSettings (GUISUMOAbstractView *view=0) const
 Adds the parsed settings to the global list of settings.
void characters (const XMLCh *const chars, const XERCES3_SIZE_t length)
 The inherited method called when characters occured.
void endElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname)
 The inherited method called when a tag is being closed.
const std::vector
< GUISUMOAbstractView::Decal > & 
getDecals () const
 Returns the parsed decals.
SUMOReal getDelay () const
 Returns the parsed delay.
const std::string & getFileName () const
 returns the current file name
 GUISettingsHandler (const std::string &content, bool isFile=true)
 Constructor.
bool hasDecals () const
 Returns whether any decals have been parsed.
void registerParent (const int tag, GenericSAXHandler *handler)
 Assigning a parent handler which is enabled when the specified tag is closed.
void setFileName (const std::string &name)
 Sets the current file name.
void setSnapshots (GUISUMOAbstractView *view) const
 Makes a snapshot if it has been parsed.
void setViewport (GUISUMOAbstractView *view) const
 Sets the viewport which has been parsed.
void setViewport (SUMOReal &zoom, SUMOReal &xoff, SUMOReal &yoff) const
 Sets the viewport which has been parsed.
void startElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname, const Attributes &attrs)
 The inherited method called when a new tag opens.
 ~GUISettingsHandler ()
 Destructor.
inherited from GenericSAXHandler
void myStartElement (int element, const SUMOSAXAttributes &attrs)
 Called on the opening of a tag.
SAX ErrorHandler callbacks
void warning (const SAXParseException &exception)
 Handler for XML-warnings.
void error (const SAXParseException &exception)
 Handler for XML-errors.
void fatalError (const SAXParseException &exception)
 Handler for XML-errors.

Protected Member Functions

std::string buildErrorMessage (const SAXParseException &exception)
 Builds an error message.
virtual void myCharacters (int element, const std::string &chars)
 Callback method for characters to implement by derived classes.
virtual void myEndElement (int element)
 Callback method for a closing tag to implement by derived classes.

Private Member Functions

GUIVisualizationTextSettings parseTextSettings (const std::string &prefix, const SUMOSAXAttributes &attrs, GUIVisualizationTextSettings defaults)
 parse combined settings of bool, size and color

Private Attributes

int myCurrentColorer
 The last color scheme category (edges or vehicles)
GUIColorSchememyCurrentScheme
 The current color scheme.
std::vector
< GUISUMOAbstractView::Decal
myDecals
 The decals list to fill.
SUMOReal myDelay
 The delay loaded.
GUIVisualizationSettings mySettings
 The settings to fill.
std::map< SUMOTime, std::string > mySnapshots
 mappig of time steps to filenames for potential snapshots
SUMOReal myXPos
SUMOReal myYPos
SUMOReal myZoom
 The viewport loaded.

Detailed Description

An XML-handler for visualisation schemes.

Definition at line 46 of file GUISettingsHandler.h.


Constructor & Destructor Documentation

GUISettingsHandler::GUISettingsHandler ( const std::string &  content,
bool  isFile = true 
)

Constructor.

Parameters:
[in]filethe file to parse

Definition at line 54 of file GUISettingsHandler.cpp.

References XMLSubSys::getSAXReader(), XMLSubSys::runParser(), and GenericSAXHandler::setFileName().

GUISettingsHandler::~GUISettingsHandler ( )

Destructor.

Definition at line 68 of file GUISettingsHandler.cpp.


Member Function Documentation

std::string GUISettingsHandler::addSettings ( GUISUMOAbstractView view = 0) const
std::string GenericSAXHandler::buildErrorMessage ( const SAXParseException &  exception)
protectedinherited

Builds an error message.

The error message includes the file name and the line/column information as supported by the given SAXParseException

Parameters:
[in]exceptionThe name of the currently processed file
Returns:
A string describing the given exception

Definition at line 193 of file GenericSAXHandler.cpp.

References GenericSAXHandler::getFileName().

Referenced by GenericSAXHandler::error(), GenericSAXHandler::fatalError(), and GenericSAXHandler::warning().

void GenericSAXHandler::characters ( const XMLCh *const  chars,
const XERCES3_SIZE_t  length 
)
inherited

The inherited method called when characters occured.

The retrieved characters are converted into a string and appended into a private buffer. They are reported as soon as the element ends.

Todo:

recheck/describe what happens with characters when a new element is opened

describe characters processing in the class' head

Definition at line 176 of file GenericSAXHandler.cpp.

References GenericSAXHandler::myCharactersVector.

void GenericSAXHandler::endElement ( const XMLCh *const  uri,
const XMLCh *const  localname,
const XMLCh *const  qname 
)
inherited

The inherited method called when a tag is being closed.

This method calls the user-implemented methods myCharacters with the previously collected and converted characters.

Then, myEndElement is called, supplying it the qname converted to its enum- and string-representations.

Todo:

recheck/describe encoding of the string-representation

do not generate and report the string-representation

Definition at line 126 of file GenericSAXHandler.cpp.

References GenericSAXHandler::convertTag(), GenericSAXHandler::myCharacters(), GenericSAXHandler::myCharactersVector, GenericSAXHandler::myEndElement(), GenericSAXHandler::myParentHandler, GenericSAXHandler::myParentIndicator, XMLSubSys::setHandler(), SUMO_TAG_INCLUDE, and SUMO_TAG_NOTHING.

void GenericSAXHandler::error ( const SAXParseException &  exception)
inherited

Handler for XML-errors.

The message is built using buildErrorMessage and thrown within a ProcessError.

Parameters:
[in]exceptionThe occured exception to process
Exceptions:
ProcessErrorOn any call

Definition at line 212 of file GenericSAXHandler.cpp.

References GenericSAXHandler::buildErrorMessage().

Referenced by NLHandler::getLanesFromIndices().

void GenericSAXHandler::fatalError ( const SAXParseException &  exception)
inherited

Handler for XML-errors.

The message is built using buildErrorMessage and thrown within a ProcessError.

Exceptions:
ProcessErrorOn any call
Parameters:
[in]exceptionThe occured exception to process

Definition at line 218 of file GenericSAXHandler.cpp.

References GenericSAXHandler::buildErrorMessage().

const std::vector< GUISUMOAbstractView::Decal > & GUISettingsHandler::getDecals ( ) const

Returns the parsed decals.

Returns:
the parsed decals

Definition at line 272 of file GUISettingsHandler.cpp.

References myDecals.

Referenced by GUIApplicationWindow::handleEvent_SimulationLoaded(), and GUIDialog_ViewSettings::loadDecals().

SUMOReal GUISettingsHandler::getDelay ( ) const

Returns the parsed delay.

Returns:
the parsed delay

Definition at line 278 of file GUISettingsHandler.cpp.

References myDelay.

Referenced by GUIApplicationWindow::handleEvent_SimulationLoaded().

bool GUISettingsHandler::hasDecals ( ) const

Returns whether any decals have been parsed.

Returns:
whether decals have been parsed

Definition at line 266 of file GUISettingsHandler.cpp.

References myDecals.

Referenced by GUIDialog_ViewSettings::loadDecals().

void GenericSAXHandler::myCharacters ( int  element,
const std::string &  chars 
)
protectedvirtualinherited

Callback method for characters to implement by derived classes.

Called by "endElement" (see there).

Parameters:
[in]elementThe opened element, given as a int
[in]charsThe complete embedded character string ProcessError These method may throw a ProcessError if something fails

Reimplemented in NIImporter_OpenDrive, NIImporter_SUMO, PCNetProjectionLoader, NIImporter_ITSUMO::Handler, PCLoaderXML, RORDLoader_SUMOBase, and ROJTRTurnDefLoader.

Definition at line 228 of file GenericSAXHandler.cpp.

Referenced by GenericSAXHandler::endElement().

void GenericSAXHandler::myEndElement ( int  element)
protectedvirtualinherited
void GUISettingsHandler::myStartElement ( int  element,
const SUMOSAXAttributes attrs 
)
virtual

Called on the opening of a tag.

Parameters:
[in]elementID of the currently opened element
[in]attrsAttributes within the currently opened element
Exceptions:
ProcessErrorIf something fails
See also:
GenericSAXHandler::myStartElement

Reimplemented from GenericSAXHandler.

Definition at line 73 of file GUISettingsHandler.cpp.

References GUIColorScheme::addColor(), GUIVisualizationSettings::addExaggeration, GUIVisualizationSettings::addMode, GUIVisualizationSettings::addName, GUIVisualizationSettings::antialiase, GUIVisualizationSettings::backgroundColor, GUISUMOAbstractView::Decal::centerX, GUISUMOAbstractView::Decal::centerY, GUIColorScheme::clear(), GUICompleteSchemeStorage::contains(), GUIVisualizationSettings::dither, GUIVisualizationSettings::drawLinkJunctionIndex, GUIVisualizationSettings::drawLinkTLIndex, GUIVisualizationSettings::edgeName, GUISUMOAbstractView::Decal::filename, GUICompleteSchemeStorage::get(), FileHelpers::getConfigurationRelative(), GenericSAXHandler::getFileName(), SUMOSAXAttributes::getObjectType(), SUMOSAXAttributes::getOptBoolReporting(), SUMOSAXAttributes::getOptStringReporting(), SUMOSAXAttributes::getOptSUMORealReporting(), SUMOSAXAttributes::getOptSUMOTimeReporting(), GUIColorer::getSchemeByName(), SUMOSAXAttributes::getStringReporting(), SUMOSAXAttributes::getStringSecure(), SUMOSAXAttributes::getSUMORealReporting(), GUIVisualizationSettings::gridXSize, GUIVisualizationSettings::gridYSize, gSchemeStorage, GUISUMOAbstractView::Decal::height, GUIVisualizationSettings::hideConnectors, GUISUMOAbstractView::Decal::initialised, GUIVisualizationSettings::internalEdgeName, GUIVisualizationSettings::internalJunctionName, FileHelpers::isAbsolute(), GUIColorScheme::isFixed(), GUIVisualizationSettings::junctionMode, GUIVisualizationSettings::junctionName, GUIVisualizationSettings::laneColorer, GUIVisualizationSettings::laneShowBorders, GUIVisualizationSettings::minAddSize, GUIVisualizationSettings::minPOISize, GUIVisualizationSettings::minVehicleSize, myCurrentColorer, myCurrentScheme, myDecals, myDelay, mySettings, mySnapshots, myXPos, myYPos, myZoom, GUIVisualizationSettings::name, RGBColor::parseColorReporting(), parseTextSettings(), GUIVisualizationSettings::poiExaggeration, GUIVisualizationSettings::poiName, GUISUMOAbstractView::Decal::rot, GUIColorer::setActive(), GUIColorScheme::setColor(), GUIColorScheme::setInterpolated(), GUIVisualizationSettings::showBlinker, GUIVisualizationSettings::showGrid, GUIVisualizationSettings::showLane2Lane, GUIVisualizationSettings::showLinkDecals, GUIVisualizationSettings::showRails, GUIVisualizationSettings::showSizeLegend, GUIVisualizationSettings::streetName, SUMO_ATTR_COLOR, SUMO_ATTR_FILE, SUMO_ATTR_INTERPOLATED, SUMO_ATTR_NAME, SUMO_ATTR_THRESHOLD, SUMO_ATTR_TIME, SUMO_ATTR_VALUE, SUMO_ATTR_X, SUMO_ATTR_Y, SUMO_ATTR_ZOOM, SUMO_TAG_COLORSCHEME, SUMO_TAG_DELAY, SUMO_TAG_ENTRY, SUMO_TAG_SNAPSHOT, SUMO_TAG_VIEWPORT, SUMO_TAG_VIEWSETTINGS_ADDITIONALS, SUMO_TAG_VIEWSETTINGS_BACKGROUND, SUMO_TAG_VIEWSETTINGS_DECAL, SUMO_TAG_VIEWSETTINGS_EDGES, SUMO_TAG_VIEWSETTINGS_JUNCTIONS, SUMO_TAG_VIEWSETTINGS_LEGEND, SUMO_TAG_VIEWSETTINGS_OPENGL, SUMO_TAG_VIEWSETTINGS_POIS, SUMO_TAG_VIEWSETTINGS_SCHEME, SUMO_TAG_VIEWSETTINGS_VEHICLES, toString(), GUIVisualizationSettings::vehicleColorer, GUIVisualizationSettings::vehicleExaggeration, GUIVisualizationSettings::vehicleName, GUIVisualizationSettings::vehicleQuality, and GUISUMOAbstractView::Decal::width.

GUIVisualizationTextSettings GUISettingsHandler::parseTextSettings ( const std::string &  prefix,
const SUMOSAXAttributes attrs,
GUIVisualizationTextSettings  defaults 
)
private
void GenericSAXHandler::registerParent ( const int  tag,
GenericSAXHandler handler 
)
inherited

Assigning a parent handler which is enabled when the specified tag is closed.

Definition at line 168 of file GenericSAXHandler.cpp.

References GenericSAXHandler::myParentHandler, GenericSAXHandler::myParentIndicator, and XMLSubSys::setHandler().

Referenced by NLTriggerBuilder::parseAndBuildLaneSpeedTrigger(), and NLTriggerBuilder::parseAndBuildRerouter().

void GenericSAXHandler::setFileName ( const std::string &  name)
inherited
void GUISettingsHandler::setSnapshots ( GUISUMOAbstractView view) const

Makes a snapshot if it has been parsed.

Parameters:
[in]parentthe view which needs to be shot
Todo:
Please describe why the snapshots are only set if no other existed before (see code)

Definition at line 258 of file GUISettingsHandler.cpp.

References mySnapshots, and GUISUMOAbstractView::setSnapshots().

Referenced by GUIApplicationWindow::handleEvent_SimulationLoaded().

void GUISettingsHandler::setViewport ( GUISUMOAbstractView view) const

Sets the viewport which has been parsed.

Parameters:
[in]parentthe view for which the viewport has to be set

Definition at line 242 of file GUISettingsHandler.cpp.

References myXPos, myYPos, myZoom, and GUISUMOAbstractView::setViewport().

Referenced by GUIApplicationWindow::handleEvent_SimulationLoaded().

void GUISettingsHandler::setViewport ( SUMOReal zoom,
SUMOReal xoff,
SUMOReal yoff 
) const

Sets the viewport which has been parsed.

Parameters:
[out]zoomVariable to store the loaded zoom into
[out]xoffVariable to store the loaded x-offset into
[out]yoffVariable to store the loaded y-offset into

Definition at line 250 of file GUISettingsHandler.cpp.

References myXPos, myYPos, and myZoom.

void GenericSAXHandler::startElement ( const XMLCh *const  uri,
const XMLCh *const  localname,
const XMLCh *const  qname,
const Attributes &  attrs 
)
inherited

The inherited method called when a new tag opens.

The method parses the supplied XMLCh*-qname using the internal name/enum-map to obtain the enum representation of the attribute name.

Then, "myStartElement" is called supplying the enumeration value, the string-representation of the name and the attributes.

Todo:

recheck/describe encoding of the string-representation

do not generate and report the string-representation

Definition at line 105 of file GenericSAXHandler.cpp.

References GenericSAXHandler::convertTag(), FileHelpers::getConfigurationRelative(), GenericSAXHandler::getFileName(), SUMOSAXAttributesImpl_Xerces::getString(), FileHelpers::isAbsolute(), GenericSAXHandler::myCharactersVector, GenericSAXHandler::myPredefinedTags, GenericSAXHandler::myPredefinedTagsMML, GenericSAXHandler::myStartElement(), XMLSubSys::runParser(), SUMO_ATTR_HREF, and SUMO_TAG_INCLUDE.

void GenericSAXHandler::warning ( const SAXParseException &  exception)
inherited

Handler for XML-warnings.

The message is built using buildErrorMessage and reported to the warning-instance of the MsgHandler.

Parameters:
[in]exceptionThe occured exception to process

Definition at line 206 of file GenericSAXHandler.cpp.

References GenericSAXHandler::buildErrorMessage(), and WRITE_WARNING.


Field Documentation

int GUISettingsHandler::myCurrentColorer
private

The last color scheme category (edges or vehicles)

Definition at line 135 of file GUISettingsHandler.h.

Referenced by myStartElement().

GUIColorScheme* GUISettingsHandler::myCurrentScheme
private

The current color scheme.

Definition at line 138 of file GUISettingsHandler.h.

Referenced by myStartElement().

std::vector<GUISUMOAbstractView::Decal> GUISettingsHandler::myDecals
private

The decals list to fill.

Definition at line 132 of file GUISettingsHandler.h.

Referenced by getDecals(), hasDecals(), and myStartElement().

SUMOReal GUISettingsHandler::myDelay
private

The delay loaded.

Definition at line 123 of file GUISettingsHandler.h.

Referenced by getDelay(), and myStartElement().

GUIVisualizationSettings GUISettingsHandler::mySettings
private

The settings to fill.

Definition at line 120 of file GUISettingsHandler.h.

Referenced by addSettings(), and myStartElement().

std::map<SUMOTime, std::string> GUISettingsHandler::mySnapshots
private

mappig of time steps to filenames for potential snapshots

Definition at line 129 of file GUISettingsHandler.h.

Referenced by myStartElement(), and setSnapshots().

SUMOReal GUISettingsHandler::myXPos
private

Definition at line 126 of file GUISettingsHandler.h.

Referenced by myStartElement(), and setViewport().

SUMOReal GUISettingsHandler::myYPos
private

Definition at line 126 of file GUISettingsHandler.h.

Referenced by myStartElement(), and setViewport().

SUMOReal GUISettingsHandler::myZoom
private

The viewport loaded.

Definition at line 126 of file GUISettingsHandler.h.

Referenced by myStartElement(), and setViewport().


The documentation for this class was generated from the following files: