]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/gnome/gprint.cpp
use the same #if wxUSE_XXX checks in platform-specific files as around wxTextEntryBas...
[wxWidgets.git] / src / gtk / gnome / gprint.cpp
index 344569826a31d1fa7d05adda24be51f0452ad57f..51ff5f64bd955bf8fac7cede3f41f49cea6c9dc7 100644 (file)
@@ -26,6 +26,7 @@
     #include "wx/math.h"
     #include "wx/image.h"
     #include "wx/module.h"
+    #include "wx/crt.h"
 #endif
 
 #include "wx/fontutil.h"
@@ -153,11 +154,13 @@ public:
         (GnomePrintConfig *config, const guchar *key, gboolean value), (config, key, value), false )
     wxDL_METHOD_DEFINE( gboolean, gnome_print_config_set_length,
         (GnomePrintConfig *config, const guchar *key, gdouble value, const GnomePrintUnit *unit), (config, key, value, unit), false )
-        
+
     wxDL_METHOD_DEFINE( guchar*, gnome_print_config_get,
         (GnomePrintConfig *config, const guchar *key), (config, key), NULL )
     wxDL_METHOD_DEFINE( gboolean, gnome_print_config_get_length,
         (GnomePrintConfig *config, const guchar *key, gdouble *val, const GnomePrintUnit **unit), (config, key, val, unit), false )
+    wxDL_METHOD_DEFINE( gboolean, gnome_print_config_get_boolean,
+        (GnomePrintConfig *config, const guchar *key, gboolean *val), (config, key, val), false )
 
     wxDL_METHOD_DEFINE( GtkWidget*, gnome_print_dialog_new,
         (GnomePrintJob *gpj, const guchar *title, gint flags), (gpj, title, flags), NULL )
@@ -262,9 +265,10 @@ bool wxGnomePrintLibrary::InitializeMethods()
     wxDL_METHOD_LOAD( m_libGnomePrint, gnome_print_config_set_double );
     wxDL_METHOD_LOAD( m_libGnomePrint, gnome_print_config_set_int );
     wxDL_METHOD_LOAD( m_libGnomePrint, gnome_print_config_set_length );
-    
+
     wxDL_METHOD_LOAD( m_libGnomePrint, gnome_print_config_get );
     wxDL_METHOD_LOAD( m_libGnomePrint, gnome_print_config_get_length );
+    wxDL_METHOD_LOAD( m_libGnomePrint, gnome_print_config_get_boolean );
 
     wxDL_METHOD_LOAD( m_libGnomePrintUI, gnome_print_dialog_new );
     wxDL_METHOD_LOAD( m_libGnomePrintUI, gnome_print_dialog_construct_range_page );
@@ -308,7 +312,29 @@ bool wxGnomePrintNativeData::TransferTo( wxPrintData &data )
     else
         data.SetOrientation( wxPORTRAIT );
     g_free( res );
-    
+
+    res = gs_libGnomePrint->gnome_print_config_get( m_config,
+            (guchar*)(char*)GNOME_PRINT_KEY_OUTPUT_FILENAME );
+    if (res)
+    {
+        data.SetFilename( wxConvFile.cMB2WX( (const char*) res ) );
+        wxPrintf( "filename %s\n", data.GetFilename() );
+        g_free( res );
+    }
+    else
+    {
+        data.SetFilename( wxEmptyString );
+    }
+
+    gboolean ret;
+    if (gs_libGnomePrint->gnome_print_config_get_boolean( m_config,
+            (guchar*)(char*)GNOME_PRINT_KEY_COLLATE, &ret))
+    {
+        data.SetCollate( ret );
+    }
+
+    // gnome_print_v
+
     return true;
 }
 
@@ -379,7 +405,7 @@ bool wxGnomePrintNativeData::TransferFrom( const wxPrintData &data )
                                     (guchar*)(char*)"C6" );
                                 break;
         case wxPAPER_NONE:      break;
-        
+
         default:
         case wxPAPER_A4:        gs_libGnomePrint->gnome_print_config_set( m_config,
                                     (guchar*)(char*)GNOME_PRINT_KEY_PAPER_SIZE,
@@ -443,7 +469,9 @@ bool wxGnomePrintFactory::HasPrintSetupDialog()
     return false;
 }
 
-wxDialog *wxGnomePrintFactory::CreatePrintSetupDialog( wxWindow *parent, wxPrintData *data )
+wxDialog *
+wxGnomePrintFactory::CreatePrintSetupDialog(wxWindow * WXUNUSED(parent),
+                                            wxPrintData * WXUNUSED(data))
 {
     return NULL;
 }
@@ -519,7 +547,7 @@ wxGnomePrintDialog::wxGnomePrintDialog( wxWindow *parent, wxPrintData *data )
 void wxGnomePrintDialog::Init()
 {
     wxPrintData data = m_printDialogData.GetPrintData();
-    
+
     data.ConvertToNative();
 
     wxGnomePrintNativeData *native =
@@ -623,8 +651,8 @@ bool wxGnomePrintDialog::TransferDataFromWindow()
 
 IMPLEMENT_CLASS(wxGnomePageSetupDialog, wxPageSetupDialogBase)
 
-wxGnomePageSetupDialog::wxGnomePageSetupDialog( wxWindow *parent,
-                            wxPageSetupDialogData* data )
+wxGnomePageSetupDialog::wxGnomePageSetupDialog(wxWindow * WXUNUSED(parent),
+                                               wxPageSetupDialogData *data)
 {
     if (data)
         m_pageDialogData = *data;
@@ -650,7 +678,7 @@ wxGnomePageSetupDialog::wxGnomePageSetupDialog( wxWindow *parent,
     double mt = (double) m_pageDialogData.GetMarginTopLeft().y;
     double mr = (double) m_pageDialogData.GetMarginBottomRight().x;
     double mb = (double) m_pageDialogData.GetMarginBottomRight().y;
-    
+
     gs_libGnomePrint->gnome_print_config_set_length (config,
             (const guchar*) GNOME_PRINT_KEY_PAGE_MARGIN_LEFT, ml, mm_unit );
     gs_libGnomePrint->gnome_print_config_set_length (config,
@@ -695,7 +723,7 @@ int wxGnomePageSetupDialog::ShowModal()
 {
     wxGnomePrintNativeData *native =
       (wxGnomePrintNativeData*) m_pageDialogData.GetPrintData().GetNativeData();
-      
+
     GnomePrintConfig *config = native->GetPrintConfig();
 
 
@@ -790,7 +818,7 @@ bool wxGnomePrinter::Print(wxWindow *parent, wxPrintout *printout, bool prompt )
     }
 
     wxPrintData printdata = GetPrintDialogData().GetPrintData();
-    
+
     wxGnomePrintNativeData *native =
         (wxGnomePrintNativeData*) printdata.GetNativeData();
 
@@ -934,7 +962,7 @@ wxDC* wxGnomePrinter::PrintDialog( wxWindow *parent )
     return new wxGnomePrintDC( m_printDialogData.GetPrintData() );
 }
 
-bool wxGnomePrinter::Setup( wxWindow *parent )
+bool wxGnomePrinter::Setup(wxWindow * WXUNUSED(parent))
 {
     return false;
 }
@@ -992,12 +1020,19 @@ bool wxGnomePrintDC::IsOk() const
     return true;
 }
 
-bool wxGnomePrintDC::DoFloodFill(wxCoord x1, wxCoord y1, const wxColour &col, int style )
+bool
+wxGnomePrintDC::DoFloodFill(wxCoord WXUNUSED(x1),
+                            wxCoord WXUNUSED(y1),
+                            const wxColour& WXUNUSED(col),
+                            int WXUNUSED(style))
 {
     return false;
 }
 
-bool wxGnomePrintDC::DoGetPixel(wxCoord x1, wxCoord y1, wxColour *col) const
+bool
+wxGnomePrintDC::DoGetPixel(wxCoord WXUNUSED(x1),
+                           wxCoord WXUNUSED(y1),
+                           wxColour * WXUNUSED(col)) const
 {
     return false;
 }
@@ -1016,7 +1051,7 @@ void wxGnomePrintDC::DoDrawLine(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2)
     CalcBoundingBox( x2, y2 );
 }
 
-void wxGnomePrintDC::DoCrossHair(wxCoord x, wxCoord y)
+void wxGnomePrintDC::DoCrossHair(wxCoord WXUNUSED(x), wxCoord WXUNUSED(y))
 {
 }
 
@@ -1121,7 +1156,7 @@ void wxGnomePrintDC::DoDrawEllipticArc(wxCoord x,wxCoord y,wxCoord w,wxCoord h,d
     CalcBoundingBox( x+w, y+h );
 }
 
-void wxGnomePrintDC::DoDrawPoint(wxCoord x, wxCoord y)
+void wxGnomePrintDC::DoDrawPoint(wxCoord WXUNUSED(x), wxCoord WXUNUSED(y))
 {
 }
 
@@ -1145,7 +1180,9 @@ void wxGnomePrintDC::DoDrawLines(int n, wxPoint points[], wxCoord xoffset, wxCoo
     gs_libGnomePrint->gnome_print_stroke ( m_gpc);
 }
 
-void wxGnomePrintDC::DoDrawPolygon(int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset, int fillStyle)
+void wxGnomePrintDC::DoDrawPolygon(int n, wxPoint points[],
+                                   wxCoord xoffset, wxCoord yoffset,
+                                   int WXUNUSED(fillStyle))
 {
     if (n==0) return;
 
@@ -1377,20 +1414,20 @@ void wxGnomePrintDC::DoDrawEllipse(wxCoord x, wxCoord y, wxCoord width, wxCoord
 }
 
 #if wxUSE_SPLINES
-void wxGnomePrintDC::DoDrawSpline(wxList *points)
+void wxGnomePrintDC::DoDrawSpline(const wxPointList *points)
 {
     SetPen (m_pen);
 
     double c, d, x1, y1, x2, y2, x3, y3;
     wxPoint *p, *q;
 
-    wxList::compatibility_iterator node = points->GetFirst();
-    p = (wxPoint *)node->GetData();
+    wxPointList::compatibility_iterator node = points->GetFirst();
+    p = node->GetData();
     x1 = p->x;
     y1 = p->y;
 
     node = node->GetNext();
-    p = (wxPoint *)node->GetData();
+    p = node->GetData();
     c = p->x;
     d = p->y;
     x3 =
@@ -1408,7 +1445,7 @@ void wxGnomePrintDC::DoDrawSpline(wxList *points)
     node = node->GetNext();
     while (node)
     {
-        q = (wxPoint *)node->GetData();
+        q = node->GetData();
 
         x1 = x3;
         y1 = y3;
@@ -1436,9 +1473,14 @@ void wxGnomePrintDC::DoDrawSpline(wxList *points)
 }
 #endif // wxUSE_SPLINES
 
-bool wxGnomePrintDC::DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
-            wxDC *source, wxCoord xsrc, wxCoord ysrc, int rop, bool useMask,
-            wxCoord xsrcMask, wxCoord ysrcMask)
+bool
+wxGnomePrintDC::DoBlit(wxCoord xdest, wxCoord ydest,
+                      wxCoord width, wxCoord height,
+                      wxDC *source,
+                      wxCoord xsrc, wxCoord ysrc,
+                      int rop,
+                      bool WXUNUSED(useMask),
+                      wxCoord WXUNUSED(xsrcMask), wxCoord WXUNUSED(ysrcMask))
 {
     wxCHECK_MSG( source, false, wxT("invalid source dc") );
 
@@ -1460,7 +1502,10 @@ void wxGnomePrintDC::DoDrawIcon( const wxIcon& icon, wxCoord x, wxCoord y )
     DoDrawBitmap( icon, x, y, true );
 }
 
-void wxGnomePrintDC::DoDrawBitmap( const wxBitmap& bitmap, wxCoord x, wxCoord y, bool useMask )
+void
+wxGnomePrintDC::DoDrawBitmap(const wxBitmap& bitmap,
+                             wxCoord x, wxCoord y,
+                             bool WXUNUSED(useMask))
 {
     if (!bitmap.Ok()) return;
 
@@ -1576,18 +1621,18 @@ void wxGnomePrintDC::DoDrawRotatedText(const wxString& text, wxCoord x, wxCoord
 
     // Draw layout.
     gs_libGnomePrint->gnome_print_moveto (m_gpc, xx, yy);
-        
+
     gs_libGnomePrint->gnome_print_gsave( m_gpc );
-        
+
     gs_libGnomePrint->gnome_print_scale( m_gpc, m_scaleX * DEV2PS, m_scaleY * DEV2PS );
-        
+
     if (fabs(angle) > 0.00001)
         gs_libGnomePrint->gnome_print_rotate( m_gpc, angle );
-            
+
     gs_libGnomePrint->gnome_print_pango_layout( m_gpc, m_layout );
-        
+
     gs_libGnomePrint->gnome_print_grestore( m_gpc );
-    
+
     if (underlined)
     {
         // undo underline attributes setting:
@@ -1623,7 +1668,7 @@ void wxGnomePrintDC::SetPen( const wxPen& pen )
     m_pen = pen;
 
     double width;
-    
+
     if (m_pen.GetWidth() <= 0)
         width = 0.1;
     else
@@ -1721,20 +1766,20 @@ void wxGnomePrintDC::SetBrush( const wxBrush& brush )
     }
 }
 
-void wxGnomePrintDC::SetLogicalFunction( int function )
+void wxGnomePrintDC::SetLogicalFunction(int WXUNUSED(function))
 {
 }
 
-void wxGnomePrintDC::SetBackground( const wxBrush& brush )
+void wxGnomePrintDC::SetBackground(const wxBrush& WXUNUSED(brush))
 {
 }
 
 void wxGnomePrintDC::DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height)
 {
     wxDC::DoSetClippingRegion( x, y, width, height );
-    
+
     gs_libGnomePrint->gnome_print_gsave( m_gpc );
-    
+
     gs_libGnomePrint->gnome_print_newpath( m_gpc );
     gs_libGnomePrint->gnome_print_moveto( m_gpc, XLOG2DEV(x), YLOG2DEV(y) );
     gs_libGnomePrint->gnome_print_lineto( m_gpc, XLOG2DEV(x + width), YLOG2DEV(y) );
@@ -1749,7 +1794,7 @@ void wxGnomePrintDC::DestroyClippingRegion()
     wxDC::DestroyClippingRegion();
 
     gs_libGnomePrint->gnome_print_grestore( m_gpc );
-    
+
 #if 0
     // not needed, we set the values in each
     // drawing method anyways
@@ -1759,7 +1804,7 @@ void wxGnomePrintDC::DestroyClippingRegion()
 #endif
 }
 
-bool wxGnomePrintDC::StartDoc(const wxString& message)
+bool wxGnomePrintDC::StartDoc(const wxString& WXUNUSED(message))
 {
     return true;
 }
@@ -1874,7 +1919,7 @@ void wxGnomePrintDC::DoGetSize(int* width, int* height) const
 
     if (width)
         *width = wxRound( pw * PS2DEV );
-        
+
     if (height)
         *height = wxRound( ph * PS2DEV );
 }
@@ -1908,9 +1953,9 @@ wxSize wxGnomePrintDC::GetPPI() const
 }
 
 void wxGnomePrintDC::SetPrintData(const wxPrintData& data)
-{ 
+{
     m_printData = data;
-    
+
     int height;
     if (m_printData.GetOrientation() == wxPORTRAIT)
         GetSize( NULL, &height );
@@ -1919,7 +1964,7 @@ void wxGnomePrintDC::SetPrintData(const wxPrintData& data)
     m_deviceLocalOriginY = height;
 }
 
-void wxGnomePrintDC::SetResolution(int ppi)
+void wxGnomePrintDC::SetResolution(int WXUNUSED(ppi))
 {
 }
 
@@ -2039,5 +2084,5 @@ void wxGnomePrintPreview::DetermineScaling()
     }
 }
 
-#endif 
+#endif
     // wxUSE_LIBGNOMEPRINT