]> git.saurik.com Git - wxWidgets.git/commitdiff
Added PushEventHandler, Pop...
authorRobert Roebling <robert@roebling.de>
Wed, 12 Aug 1998 21:24:51 +0000 (21:24 +0000)
committerRobert Roebling <robert@roebling.de>
Wed, 12 Aug 1998 21:24:51 +0000 (21:24 +0000)
  Corrected spelling of SetEventhandler
  Fixed two bugs in wxGenericPrintDlg
  Tried in vain to make printing of icons work.
    It now prints black on black, mostly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@514 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/gtk/dc.h
include/wx/gtk/window.h
include/wx/gtk1/dc.h
include/wx/gtk1/window.h
include/wx/postscrp.h
samples/printing/printing.cpp
src/generic/prntdlgg.cpp
src/gtk/window.cpp
src/gtk1/window.cpp

index 9678e6d693e73377a9f6a3950d772412f9d2f8db..35b942441455a77731736a0cd10f6184613e18d1 100644 (file)
@@ -94,7 +94,9 @@ class wxDC: public wxObject
     virtual void DrawSpline( int n, wxPoint points[] );
     
     virtual bool CanDrawBitmap(void) const = 0;
-    virtual void DrawIcon( const wxIcon &icon, long x, long y, bool useMask=FALSE );
+    virtual void DrawIcon( const wxIcon &icon, long x, long y )
+      { DrawIcon( icon, x, y, TRUE ); }
+    virtual void DrawIcon( const wxIcon &icon, long x, long y, bool useMask );
             void DrawBitmap( const wxBitmap &bmp, long x, long y, bool useMask=FALSE )
            { DrawIcon( *((wxIcon*)(&bmp)), x, y, useMask ); }
     virtual bool Blit( long xdest, long ydest, long width, long height,
index 8d36786733ed1ec9331b3d88a5c21dbf8e9c1826..0f1d410cf75b4fb6079a4826aabbbf49cc3541b6 100644 (file)
@@ -102,7 +102,9 @@ public:
   wxWindow *GetParent();
 
   wxEvtHandler *GetEventHandler();
-  void SetEventhandler( wxEvtHandler *handler );
+  void SetEventHandler( wxEvtHandler *handler );
+  void PushEventHandler( wxEvtHandler *handler );
+  wxEvtHandler *PopEventHandler( bool deleteHandler = FALSE );
 
   virtual wxValidator *GetValidator();
   virtual void SetValidator( wxValidator *validator );
index 9678e6d693e73377a9f6a3950d772412f9d2f8db..35b942441455a77731736a0cd10f6184613e18d1 100644 (file)
@@ -94,7 +94,9 @@ class wxDC: public wxObject
     virtual void DrawSpline( int n, wxPoint points[] );
     
     virtual bool CanDrawBitmap(void) const = 0;
-    virtual void DrawIcon( const wxIcon &icon, long x, long y, bool useMask=FALSE );
+    virtual void DrawIcon( const wxIcon &icon, long x, long y )
+      { DrawIcon( icon, x, y, TRUE ); }
+    virtual void DrawIcon( const wxIcon &icon, long x, long y, bool useMask );
             void DrawBitmap( const wxBitmap &bmp, long x, long y, bool useMask=FALSE )
            { DrawIcon( *((wxIcon*)(&bmp)), x, y, useMask ); }
     virtual bool Blit( long xdest, long ydest, long width, long height,
index 8d36786733ed1ec9331b3d88a5c21dbf8e9c1826..0f1d410cf75b4fb6079a4826aabbbf49cc3541b6 100644 (file)
@@ -102,7 +102,9 @@ public:
   wxWindow *GetParent();
 
   wxEvtHandler *GetEventHandler();
-  void SetEventhandler( wxEvtHandler *handler );
+  void SetEventHandler( wxEvtHandler *handler );
+  void PushEventHandler( wxEvtHandler *handler );
+  wxEvtHandler *PopEventHandler( bool deleteHandler = FALSE );
 
   virtual wxValidator *GetValidator();
   virtual void SetValidator( wxValidator *validator );
index fb6cc90850f7be9ec57517e0ce405a0246697ab8..f9536aa0e80a858836e3cfc79a38f95b81ab3320 100644 (file)
@@ -76,6 +76,10 @@ class WXDLLEXPORT wxPostScriptDC: public wxDC
   void DrawOpenSpline(wxList *points);
 
   void DrawIcon(const wxIcon& icon, long x, long y);
+#ifdef __WXGTK__
+  void DrawIcon(const wxIcon& icon, long x, long y, bool WXUNUSED(usemask) ) 
+    { DrawIcon( icon, x, y ); }
+#endif
   void DrawText(const wxString& text, long x, long y, bool use16 = FALSE);
 
   void Clear(void);
index bd0a78877b0c2013273ef9e4427714746986ca61..2017286a372afa0b1318de608f110ad4ecb512cd 100644 (file)
@@ -56,6 +56,11 @@ float     zoom_factor = 1.0;
 #include "aiai.xbm"
 #endif
 
+#ifdef __WXGTK__
+#include "folder.xpm"
+#endif
+
+
 // Writes a header on a page. Margin units are in millimetres.
 bool WritePageHeader(wxPrintout *printout, wxDC *dc, char *text, float mmToLogical);
 
@@ -319,6 +324,9 @@ void MyFrame::Draw(wxDC& dc)
   dc.SetPen(wxBLACK_PEN);
   dc.DrawLine(0, 0, 200, 200);
   dc.DrawLine(200, 0, 0, 200);
+  
+  wxIcon my_icon( folder_xpm );
+  dc.DrawIcon( my_icon, 100, 100, TRUE );
 }
 
 void MyFrame::OnSize(wxSizeEvent& event )
index 033d18ba8d778b30c9102e2e3120ffb3610465b4..47c415dbf04b11cd589f4706611b66c8769799bd 100644 (file)
@@ -93,7 +93,9 @@ wxGenericPrintDialog::wxGenericPrintDialog(wxWindow *parent, wxPrintData* data):
   wxString choices[2];
   choices[0] = _("All");
   choices[1] = _("Pages");
-
+  
+  fromText = (wxTextCtrl*)NULL;
+  
   rangeRadioBox = new wxRadioBox(this, wxPRINTID_RANGE, _("Print Range"),
     wxPoint(5, yPos), wxSize(-1, -1), 2, choices, 2);
   rangeRadioBox->SetSelection(1);
@@ -186,12 +188,14 @@ void wxGenericPrintDialog::OnOK(wxCommandEvent& WXUNUSED(event))
 
 void wxGenericPrintDialog::OnRange(wxCommandEvent& event)
 {
-  if (event.GetInt() == 0)
+  if (!fromText) return;
+
+  if (event.GetInt() == 1)
   {
     fromText->Enable(FALSE);
     toText->Enable(FALSE);
   }
-  else if (event.GetInt() == 1)
+  else if (event.GetInt() == 0)
   {
     fromText->Enable(TRUE);
     toText->Enable(TRUE);
index a59b3b29f97129ec975d61b7c123cab0ec645b6c..9839c6b049d07b4d5503958a8570fc1f1ad32bc5 100644 (file)
@@ -1544,11 +1544,37 @@ wxEvtHandler *wxWindow::GetEventHandler(void)
   return m_eventHandler;
 }
 
-void wxWindow::SetEventhandler( wxEvtHandler *handler )
+void wxWindow::SetEventHandler( wxEvtHandler *handler )
 {
   m_eventHandler = handler;
 }
 
+void wxWindow::PushEventHandler(wxEvtHandler *handler)
+{
+       handler->SetNextHandler(GetEventHandler());
+       SetEventHandler(handler);
+}
+
+wxEvtHandler *wxWindow::PopEventHandler(bool deleteHandler)
+{
+       if ( GetEventHandler() )
+       {
+               wxEvtHandler *handlerA = GetEventHandler();
+               wxEvtHandler *handlerB = handlerA->GetNextHandler();
+               handlerA->SetNextHandler(NULL);
+               SetEventHandler(handlerB);
+               if ( deleteHandler )
+               {
+                       delete handlerA;
+                       return NULL;
+               }
+               else
+                       return handlerA;
+       }
+       else
+               return NULL;
+}
+
 wxValidator *wxWindow::GetValidator(void)
 {
   return m_windowValidator;
index a59b3b29f97129ec975d61b7c123cab0ec645b6c..9839c6b049d07b4d5503958a8570fc1f1ad32bc5 100644 (file)
@@ -1544,11 +1544,37 @@ wxEvtHandler *wxWindow::GetEventHandler(void)
   return m_eventHandler;
 }
 
-void wxWindow::SetEventhandler( wxEvtHandler *handler )
+void wxWindow::SetEventHandler( wxEvtHandler *handler )
 {
   m_eventHandler = handler;
 }
 
+void wxWindow::PushEventHandler(wxEvtHandler *handler)
+{
+       handler->SetNextHandler(GetEventHandler());
+       SetEventHandler(handler);
+}
+
+wxEvtHandler *wxWindow::PopEventHandler(bool deleteHandler)
+{
+       if ( GetEventHandler() )
+       {
+               wxEvtHandler *handlerA = GetEventHandler();
+               wxEvtHandler *handlerB = handlerA->GetNextHandler();
+               handlerA->SetNextHandler(NULL);
+               SetEventHandler(handlerB);
+               if ( deleteHandler )
+               {
+                       delete handlerA;
+                       return NULL;
+               }
+               else
+                       return handlerA;
+       }
+       else
+               return NULL;
+}
+
 wxValidator *wxWindow::GetValidator(void)
 {
   return m_windowValidator;