]> saetta.ns0.it Git - reptool/libreptool/commitdiff
Added function RptReport::rptprint_page_add_object.
authorAndrea Zagli <azagli@libero.it>
Sat, 16 Jul 2011 08:57:53 +0000 (10:57 +0200)
committerAndrea Zagli <azagli@libero.it>
Sat, 16 Jul 2011 08:57:53 +0000 (10:57 +0200)
src/rptreport.c
src/rptreport.h

index 0d8e7c3809ad934bf58b98eef3e1ca91ad246f2e..c7886a37904748a5b5a1cf0d5eaa8294fccf45fa 100644 (file)
@@ -1564,6 +1564,41 @@ xmlNode
        return xnode;
 }
 
+void
+rpt_report_rptprint_page_add_object (xmlNode *xnodepage, RptObject *rpt_object)
+{
+       xmlNode *xnodeobj;
+       xmlAttrPtr attr;
+
+       g_return_if_fail (IS_RPT_OBJECT (rpt_object));
+
+       xnodeobj = xmlNewNode (NULL, "node");
+
+       rpt_object_get_xml (rpt_object, xnodeobj);
+       attr = xmlHasProp (xnodeobj, "name");
+       if (attr != NULL)
+               {
+                       xmlRemoveProp (attr);
+               }
+
+       if (IS_RPT_OBJ_TEXT (rpt_object))
+               {
+                       rpt_report_rptprint_parse_text_source (NULL, rpt_object, xnodeobj, -1);
+                       attr = xmlHasProp (xnodeobj, "source");
+                       if (attr != NULL)
+                               {
+                                       xmlRemoveProp (attr);
+                               }
+               }
+       else if (IS_RPT_OBJ_IMAGE (rpt_object))
+               {
+                       /* TO DO */
+                       /* rpt_report_rptprint_parse_image_source (rpt_report, rptobj, xnode); */
+               }
+
+       xmlAddChild (xnodepage, xnodeobj);
+}
+
 /**
  * rpt_report_add_object_to_section:
  * @rpt_report: an #RptReport object.
@@ -2304,8 +2339,6 @@ rpt_report_rptprint_parse_text_source (RptReport *rpt_report, RptObject *rptobj,
        gchar *source;
        gchar *ret;
 
-       RptReportPrivate *priv = RPT_REPORT_GET_PRIVATE (rpt_report);
-
        g_object_get (G_OBJECT (rptobj), "source", &source, NULL);
 
        yy_scan_string (source);
index 5d26bb6474f23ea935b6517f41748872443e40f4..69ab92a7e85412e6cdea14b1b1347f13090d0706 100644 (file)
@@ -154,6 +154,7 @@ void rpt_report_rptprint_set_output_type (xmlDoc *xdoc, eRptOutputType output_ty
 void rpt_report_rptprint_set_output_filename (xmlDoc *xdoc, const gchar *output_filename);
 void rpt_report_rptprint_set_copies (xmlDoc *xdoc, guint copies);
 xmlNode *rpt_report_rptprint_page_new (xmlDoc *xdoc, RptSize *size, RptMargin *margin);
+void rpt_report_rptprint_page_add_object (xmlNode *xnodepage, RptObject *rpt_object);
 
 
 G_END_DECLS