diff options
| author | Tavmjong Bah <tavmjong@free.fr> | 2011-11-29 11:27:10 +0000 |
|---|---|---|
| committer | tavmjong-free <tavmjong@free.fr> | 2011-11-29 11:27:10 +0000 |
| commit | 771029025214cffd0bc9783656c29e08ad208743 (patch) | |
| tree | f8571540680f4aa0138798f87222263df20c278a /src/attribute-rel-css.h | |
| parent | preferences read out: when no unit is specified, assume it is in the requeste... (diff) | |
| download | inkscape-771029025214cffd0bc9783656c29e08ad208743.tar.gz inkscape-771029025214cffd0bc9783656c29e08ad208743.zip | |
Add possibility to check validity of attributes and usefulness of properties.
This code adds the ability to check for every elment in an SVG document if its
attributes are valid and the styling properties are useful. Options under the
SVG Output section of the Inkscape Preferences dialog control what should
be checked when, and what actions should be taken if invalid attributes
or non-useful properties are found.
(bzr r10753)
Diffstat (limited to 'src/attribute-rel-css.h')
| -rw-r--r-- | src/attribute-rel-css.h | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/src/attribute-rel-css.h b/src/attribute-rel-css.h new file mode 100644 index 000000000..b5077f8a0 --- /dev/null +++ b/src/attribute-rel-css.h @@ -0,0 +1,66 @@ +#ifndef __SP_ATTRIBUTE_REL_CSS_H__ +#define __SP_ATTRIBUTE_REL_CSS_H__ + +/* + * attribute-rel-css.h + * + * Created on: Jul 25, 2011 + * Author: abhishek + */ + +#include <string> +#include <map> +#include <set> +#include <glibmm/ustring.h> + +// This data structure stores the valid (element -> set of CSS properties) pair +typedef std::map<Glib::ustring, std::set<Glib::ustring> > hashList; + +/* + * Utility class that helps check whether a given element -> CSS property is + * valid or not and whether the value assumed by a CSS property has a default + * value. + */ +class SPAttributeRelCSS { +public: + static bool findIfValid(Glib::ustring property, Glib::ustring element); + static bool findIfDefault(Glib::ustring property, Glib::ustring value); + static bool findIfInherit(Glib::ustring property); + static bool findIfProperty(Glib::ustring property); + +private: + SPAttributeRelCSS(); + SPAttributeRelCSS(const SPAttributeRelCSS&); + SPAttributeRelCSS& operator= (const SPAttributeRelCSS&); + +private: + /* + * Allows checking whether data loading is to be done for element -> CSS properties + * or CSS property -> default value. + */ + enum storageType { + prop_element_pair, + prop_defValue_pair + }; + static SPAttributeRelCSS *instance; + hashList propertiesOfElements; + + // Data structure to store CSS property and default value pair + std::map<Glib::ustring, Glib::ustring> defaultValuesOfProps; + std::map<Glib::ustring, gboolean> inheritProps; + bool readDataFromFileIn(Glib::ustring fileName, storageType type); +}; + + +#endif /* __SP_ATTRIBUTE_REL_CSS_H__ */ + +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 : |
