Code

Merge and cleanup of GSoC C++-ification project.
[inkscape.git] / src / helper / stock-items.cpp
index 6cdb50c351aaa8fad669b1d8ee4fbf4cce074d3d..4ec61c54aeb5b16a212723ae5b177582e075a966 100644 (file)
@@ -1,5 +1,3 @@
-#define __INK_STOCK_ITEMS__
-
 /*
  * Stock-items
  *
@@ -7,6 +5,8 @@
  *
  * Authors:
  *  John Cliff <simarilius@yahoo.com>
+ *  Jon A. Cruz <jon@joncruz.org>
+ *   Abhishek Sharma
  *
  * Copyright 2004 John Cliff
  *
@@ -60,7 +60,7 @@ static SPObject * sp_marker_load_from_svg(gchar const *name, SPDocument *current
         }
         g_free(markers);
         if (doc) {
-            doc->ensure_up_to_date();
+            doc->ensureUpToDate();
         } else {
             edoc = TRUE;
         }
@@ -70,7 +70,7 @@ static SPObject * sp_marker_load_from_svg(gchar const *name, SPDocument *current
         SPObject *object = doc->getObjectById(name);
         if (object && SP_IS_MARKER(object)) {
             SPDefs *defs= (SPDefs *) SP_DOCUMENT_DEFS(current_doc);
-            Inkscape::XML::Document *xml_doc = sp_document_repr_doc(current_doc);
+            Inkscape::XML::Document *xml_doc = current_doc->getReprDoc();
             Inkscape::XML::Node *mark_repr = SP_OBJECT_REPR(object)->duplicate(xml_doc);
             SP_OBJECT_REPR(defs)->addChild(mark_repr, NULL);
             SPObject *cloned_item = current_doc->getObjectByRepr(mark_repr);
@@ -103,7 +103,7 @@ sp_pattern_load_from_svg(gchar const *name, SPDocument *current_doc)
         }
         g_free(patterns);
         if (doc) {
-            doc->ensure_up_to_date();
+            doc->ensureUpToDate();
         } else {
             edoc = TRUE;
         }
@@ -114,7 +114,7 @@ sp_pattern_load_from_svg(gchar const *name, SPDocument *current_doc)
         SPObject *object = doc->getObjectById(name);
         if (object && SP_IS_PATTERN(object)) {
             SPDefs *defs= (SPDefs *) SP_DOCUMENT_DEFS(current_doc);
-            Inkscape::XML::Document *xml_doc = sp_document_repr_doc(current_doc);
+            Inkscape::XML::Document *xml_doc = current_doc->getReprDoc();
             Inkscape::XML::Node *pat_repr = SP_OBJECT_REPR(object)->duplicate(xml_doc);
             SP_OBJECT_REPR(defs)->addChild(pat_repr, NULL);
             Inkscape::GC::release(pat_repr);
@@ -146,7 +146,7 @@ sp_gradient_load_from_svg(gchar const *name, SPDocument *current_doc)
         }
         g_free(gradients);
         if (doc) {
-            doc->ensure_up_to_date();
+            doc->ensureUpToDate();
         } else {
             edoc = TRUE;
         }
@@ -157,7 +157,7 @@ sp_gradient_load_from_svg(gchar const *name, SPDocument *current_doc)
         SPObject *object = doc->getObjectById(name);
         if (object && SP_IS_GRADIENT(object)) {
             SPDefs *defs= (SPDefs *) SP_DOCUMENT_DEFS(current_doc);
-            Inkscape::XML::Document *xml_doc = sp_document_repr_doc(current_doc);
+            Inkscape::XML::Document *xml_doc = current_doc->getReprDoc();
             Inkscape::XML::Node *pat_repr = SP_OBJECT_REPR(object)->duplicate(xml_doc);
             SP_OBJECT_REPR(defs)->addChild(pat_repr, NULL);
             Inkscape::GC::release(pat_repr);
@@ -195,13 +195,11 @@ SPObject *get_stock_item(gchar const *urn)
 
         SPDesktop *desktop = inkscape_active_desktop();
         SPDocument *doc = sp_desktop_document(desktop);
-        SPDefs *defs= (SPDefs *) SP_DOCUMENT_DEFS(doc);
+        SPDefs *defs = reinterpret_cast<SPDefs *>(SP_DOCUMENT_DEFS(doc));
 
         SPObject *object = NULL;
         if (!strcmp(base, "marker")) {
-            for (SPObject *child = SP_OBJECT(defs)->first_child();
-                 child != NULL;
-                 child = SP_OBJECT_NEXT(child))
+            for ( SPObject *child = defs->firstChild(); child; child = child->getNext() )
             {
                 if (SP_OBJECT_REPR(child)->attribute("inkscape:stockid") &&
                     !strcmp(name_p, SP_OBJECT_REPR(child)->attribute("inkscape:stockid")) &&
@@ -213,11 +211,9 @@ SPObject *get_stock_item(gchar const *urn)
             
         }
         else if (!strcmp(base,"pattern"))  {
-            for (SPObject *child = SP_OBJECT(defs)->first_child() ;
-                 child != NULL;
-                 child = SP_OBJECT_NEXT(child) )
+            for ( SPObject *child = defs->firstChild() ; child; child = child->getNext() )
             {
-                if (SP_OBJECT_REPR(child)->attribute("inkscape:stockid") &&
+                if (child->getRepr()->attribute("inkscape:stockid") &&
                     !strcmp(name_p, SP_OBJECT_REPR(child)->attribute("inkscape:stockid")) &&
                     SP_IS_PATTERN(child))
                 {
@@ -227,9 +223,7 @@ SPObject *get_stock_item(gchar const *urn)
             
         }
         else if (!strcmp(base,"gradient"))  {
-            for (SPObject *child = SP_OBJECT(defs)->first_child();
-                 child != NULL;
-                 child = SP_OBJECT_NEXT(child))
+            for ( SPObject *child = defs->firstChild(); child; child = child->getNext() )
             {
                 if (SP_OBJECT_REPR(child)->attribute("inkscape:stockid") &&
                     !strcmp(name_p, SP_OBJECT_REPR(child)->attribute("inkscape:stockid")) &&