]> git.saurik.com Git - wxWidgets.git/commitdiff
Fixed module code
authorRobert Roebling <robert@roebling.de>
Wed, 25 Nov 1998 17:55:08 +0000 (17:55 +0000)
committerRobert Roebling <robert@roebling.de>
Wed, 25 Nov 1998 17:55:08 +0000 (17:55 +0000)
  Fixed printing and preview
  Grid: event handlers MUST NOT BE VIRTUAL
  Corrected init code for all DCs

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

12 files changed:
include/wx/generic/gridg.h
samples/printing/printing.cpp
src/common/prntbase.cpp
src/generic/gridg.cpp
src/gtk/app.cpp
src/gtk/dcclient.cpp
src/gtk/dcmemory.cpp
src/gtk/window.cpp
src/gtk1/app.cpp
src/gtk1/dcclient.cpp
src/gtk1/dcmemory.cpp
src/gtk1/window.cpp

index ad5246d2cca814e3b8ae075cd06d3e9df5ddfea1..22888e74560682556b19f4a7cd36b508fd4387c1 100644 (file)
@@ -150,21 +150,21 @@ class WXDLLEXPORT wxGenericGrid: public wxPanel
   virtual void OnSelectCellImplementation(wxDC *dc, int row, int col);
 
   virtual void OnSelectCell(int WXUNUSED(row), int WXUNUSED(col)) {};
-  virtual void _OnSelectCell(wxGridEvent& event);
+  void _OnSelectCell(wxGridEvent& event);
 
   // Override to create your own class of grid cell
   virtual wxGridCell *OnCreateCell(void);
-  virtual void _OnCreateCell(wxGridEvent& event);
+  void _OnCreateCell(wxGridEvent& event);
 
   // Override to change labels e.g. creation of grid, inserting/deleting a row/col.
   // By default, auto-labels the grid.
   virtual void OnChangeLabels(void);
-  virtual void _OnChangeLabels(wxGridEvent& event);
+  void _OnChangeLabels(wxGridEvent& event);
 
   // Override to change the label of the edit field when selecting a cell
   // By default, sets it to e.g. A12
   virtual void OnChangeSelectionLabel(void);
-  virtual void _OnChangeSelectionLabel(wxGridEvent& event);
+  void _OnChangeSelectionLabel(wxGridEvent& event);
 
   // Override for event processing
   virtual void OnCellChange(int WXUNUSED(row), int WXUNUSED(col)) {};
@@ -173,12 +173,11 @@ class WXDLLEXPORT wxGenericGrid: public wxPanel
   virtual void OnLabelLeftClick(int WXUNUSED(row), int WXUNUSED(col), int WXUNUSED(x), int WXUNUSED(y), bool WXUNUSED(control), bool WXUNUSED(shift)) {};
   virtual void OnLabelRightClick(int WXUNUSED(row), int WXUNUSED(col), int WXUNUSED(x), int WXUNUSED(y), bool WXUNUSED(control), bool WXUNUSED(shift)) {};
 
-  virtual void _OnCellChange(wxGridEvent& event);
-  virtual void _OnCellLeftClick(wxGridEvent& event);
-  virtual void _OnCellRightClick(wxGridEvent& event);
-  virtual void _OnLabelLeftClick(wxGridEvent& event);
-  virtual void _OnLabelRightClick(wxGridEvent& event);
-
+  void _OnCellChange(wxGridEvent& event);
+  void _OnCellLeftClick(wxGridEvent& event);
+  void _OnCellRightClick(wxGridEvent& event);
+  void _OnLabelLeftClick(wxGridEvent& event);
+  void _OnLabelRightClick(wxGridEvent& event);
 
   // Activation: call from wxFrame::OnActivate
   void OnActivate(bool active);
index af82cf63d865f0771e6beb37f4be6509fd284f54..ffd2edbc782eaf457330d2de8d19d0a790cd2019 100644 (file)
@@ -38,6 +38,8 @@
 #include "wx/print.h"
 #include "wx/printdlg.h"
 
+#include "wx/accel.h"
+
 #if wxTEST_POSTSCRIPT_IN_MSW
 #include "wx/generic/printps.h"
 #include "wx/generic/prntdlgg.h"
@@ -91,6 +93,12 @@ bool MyApp::OnInit(void)
   file_menu->Append(WXPRINT_PAGE_SETUP, "Page Set&up...",              "Page setup");
   file_menu->Append(WXPRINT_PREVIEW, "Print Pre&view",              "Preview");
 
+    // Accelerators
+    wxAcceleratorEntry entries[1];
+    entries[0].Set(wxACCEL_CTRL, (int) 'V', WXPRINT_PREVIEW);
+    wxAcceleratorTable accel(1, entries);
+    frame->SetAcceleratorTable(accel);
+    
 #if defined(__WXMSW__) && wxTEST_POSTSCRIPT_IN_MSW
   file_menu->AppendSeparator();
   file_menu->Append(WXPRINT_PRINT_PS, "Print PostScript...",              "Print (PostScript)");
index 6a19cf7ea55394ca98b74445e6b4e851765997c3..ee3811f915121b28012df4d51c97929484d1e4b2 100644 (file)
 
 #include "wx/defs.h"
 
-#ifndef __WXGTK__
-#define __GOOD_COMPILER__
-#endif
-
 #ifndef WX_PRECOMP
 #include "wx/utils.h"
 #include "wx/dc.h"
@@ -203,6 +199,7 @@ wxPreviewCanvas::~wxPreviewCanvas()
 void wxPreviewCanvas::OnPaint(wxPaintEvent& WXUNUSED(event))
 {
   wxPaintDC dc(this);
+  PrepareDC( dc );
 
   if (m_printPreview)
   {
@@ -313,8 +310,6 @@ void wxPreviewControlBar::OnZoom(wxCommandEvent& WXUNUSED(event))
 
 void wxPreviewControlBar::CreateButtons()
 {
-#ifdef __GOOD_COMPILER__ // Robert Roebling
-
   SetSize(0, 0, 400, 40);
 
 #ifdef __WXMSW__
@@ -327,7 +322,11 @@ void wxPreviewControlBar::CreateButtons()
   SetFont(buttonFont);
 
   int buttonWidth = 65;
-  int buttonHeight = 24;
+#ifdef __WXGTK__
+    int buttonHeight = -1;
+#else
+    int buttonHeight = 24;
+#endif
 
   int x = 5;
   int y = 5;
@@ -359,10 +358,33 @@ void wxPreviewControlBar::CreateButtons()
        x += gap + buttonWidth;
   }
 
-  // Can't be static because gcc bails out
-  wxString choices[] = { "10%", "20%", "25%", "30%", "35%", "40%", "45%", "50%", "55%", "60%",
-    "65%", "70%", "75%", "80%", "85%", "90%", "95%", "100%", "110%", "120%", "150%", "200%" };
-  int n = 22;
+  // Yes, this look stupid, but this is because gcc gives up otherwise.
+  wxString *choices = new wxString[23];
+  choices[0] = "10%";
+  choices[1] = "15%";
+  choices[2] = "20%";
+  choices[3] = "25%";
+  choices[4] = "30%";
+  choices[5] = "35%";
+  choices[6] = "40%";
+  choices[7] = "45%";
+  choices[8] = "50%";
+  choices[9] = "55%";
+  choices[10] = "60%";
+  choices[11] = "65%";
+  choices[12] = "70%";
+  choices[13] = "75%";
+  choices[14] = "80%";
+  choices[15] = "85%";
+  choices[16] = "90%";
+  choices[17] = "95%";
+  choices[18] = "100%";
+  choices[19] = "110%";
+  choices[20] = "120%";
+  choices[21] = "150%";
+  choices[22] = "200%";
+
+  int n = 23;
   if (m_buttonFlags & wxPREVIEW_ZOOM)
   {
     m_zoomControl = new wxChoice(this, wxID_PREVIEW_ZOOM, wxPoint(x, y),
@@ -370,24 +392,21 @@ void wxPreviewControlBar::CreateButtons()
     SetZoomControl(m_printPreview->GetZoom());
   }
 
-  m_closeButton->SetDefault();
+  delete[] choices;
 
-#endif
+  m_closeButton->SetDefault();
 }
 
 void wxPreviewControlBar::SetZoomControl(int zoom)
 {
-#ifdef __GOOD_COMPILER__ // Robert Roebling
   char buf[20];
   sprintf(buf, "%d%%", zoom);
   if (m_zoomControl)
     m_zoomControl->SetStringSelection(buf);
-#endif
 }
 
 int wxPreviewControlBar::GetZoomControl()
 {
-#ifdef __GOOD_COMPILER__ // Robert Roebling
   char buf[20];
   if (m_zoomControl && m_zoomControl->GetStringSelection())
   {
@@ -396,9 +415,6 @@ int wxPreviewControlBar::GetZoomControl()
     return (int)atoi(buf);
   }
   else return 0;
-#else
-  return 0;
-#endif
 }
 
 
@@ -410,11 +426,9 @@ wxPreviewFrame::wxPreviewFrame(wxPrintPreviewBase *preview, wxFrame *parent, con
     const wxPoint& pos, const wxSize& size, long style, const wxString& name):
  wxFrame(parent, -1, title, pos, size, style, name)
 {
-#ifdef __GOOD_COMPILER__ // Robert Roebling
   m_printPreview = preview;
   m_controlBar = NULL;
   m_previewCanvas = NULL;
-#endif
 }
 
 wxPreviewFrame::~wxPreviewFrame()
@@ -423,8 +437,6 @@ wxPreviewFrame::~wxPreviewFrame()
 
 bool wxPreviewFrame::OnClose()
 {
-#ifdef __GOOD_COMPILER__ // Robert Roebling
-
   MakeModal(FALSE);
   
   // Need to delete the printout and the print preview
@@ -438,16 +450,10 @@ bool wxPreviewFrame::OnClose()
   }
   delete m_printPreview;
   return TRUE;
-#else
-  return FALSE;
-#endif
 }
 
 void wxPreviewFrame::Initialize()
 {
-
-#ifdef __GOOD_COMPILER__ // Robert Roebling
-
   CreateStatusBar();
   
   CreateCanvas();
@@ -463,7 +469,7 @@ void wxPreviewFrame::Initialize()
 //  int w, h;
 //  m_controlBar->GetSize(&w, &h);
   int h;
-#ifdef __WXMSW__
+#if (defined(__WXMSW__) || defined(__WXGTK__))
   h = 40;
 #else
   h = 60;
@@ -491,30 +497,21 @@ void wxPreviewFrame::Initialize()
   MakeModal(TRUE);
 
   Layout();
-  
-#endif  
 }
 
 void wxPreviewFrame::CreateCanvas()
 {
-#ifdef __GOOD_COMPILER__ // Robert Roebling
-
   m_previewCanvas = new wxPreviewCanvas(m_printPreview, this);
-  
-#endif
 }
 
 void wxPreviewFrame::CreateControlBar()
 {
-#ifdef __GOOD_COMPILER__ // Robert Roebling
-
   long buttons = wxPREVIEW_DEFAULT;
   if (m_printPreview->GetPrintoutForPrinting())
     buttons |= wxPREVIEW_PRINT;
     
   m_controlBar = new wxPreviewControlBar(m_printPreview, buttons, this, wxPoint(0, 0), wxSize(400, 40));
   m_controlBar->CreateButtons();
-#endif
 }
  
 /*
@@ -523,9 +520,6 @@ void wxPreviewFrame::CreateControlBar()
 
 wxPrintPreviewBase::wxPrintPreviewBase(wxPrintout *printout, wxPrintout *printoutForPrinting, wxPrintData *data)
 {
-
-#ifdef __GOOD_COMPILER__ // Robert Roebling
-
   m_isOk = TRUE;
   m_previewPrintout = printout;
   if (m_previewPrintout)
@@ -550,27 +544,20 @@ wxPrintPreviewBase::wxPrintPreviewBase(wxPrintout *printout, wxPrintout *printou
   // Get some parameters from the printout, if defined
   int selFrom, selTo;
   printout->GetPageInfo(&m_minPage, &m_maxPage, &selFrom, &selTo);
-  
-#endif  
 }
 
 wxPrintPreviewBase::~wxPrintPreviewBase()
 {
-#ifdef __GOOD_COMPILER__ // Robert Roebling
-
   if (m_previewPrintout)
     delete m_previewPrintout;
   if (m_previewBitmap)
     delete m_previewBitmap;
   if (m_printPrintout)
     delete m_printPrintout;
-    
-#endif
 }
 
 bool wxPrintPreviewBase::SetCurrentPage(int pageNum)
 {
-#ifdef __GOOD_COMPILER__ // Robert Roebling
   if (m_currentPage == pageNum)
     return TRUE;
 
@@ -586,16 +573,11 @@ bool wxPrintPreviewBase::SetCurrentPage(int pageNum)
     RenderPage(pageNum);
     m_previewCanvas->Refresh();
   }
-  
-#endif
   return TRUE;
 }
 
 bool wxPrintPreviewBase::PaintPage(wxWindow *canvas, wxDC& dc)
 {
-
-#ifdef __GOOD_COMPILER__  // Robert Roebling
-
   DrawBlankPage(canvas, dc);
 
   if (!m_previewBitmap)
@@ -626,8 +608,6 @@ bool wxPrintPreviewBase::PaintPage(wxWindow *canvas, wxDC& dc)
 
   temp_dc.SelectObject(wxNullBitmap);
 
-#endif  
-  
   return TRUE;
 }
 
@@ -635,8 +615,6 @@ bool wxPrintPreviewBase::RenderPage(int pageNum)
 {
   int canvasWidth, canvasHeight;
   
-#ifdef __GOOD_COMPILER__  // Robert Roebling
-
   if (!m_previewCanvas)
   {
     wxMessageBox(_("wxPrintPreviewBase::RenderPage: must use wxPrintPreviewBase::SetCanvas to let me know about the canvas!"),
@@ -695,7 +673,6 @@ bool wxPrintPreviewBase::RenderPage(int pageNum)
   m_previewPrintout->SetDC(NULL);
   
   memoryDC.SelectObject(wxNullBitmap);
-#endif
 
   char buf[200];
   if (m_maxPage != 0)
@@ -712,9 +689,6 @@ bool wxPrintPreviewBase::RenderPage(int pageNum)
 
 bool wxPrintPreviewBase::DrawBlankPage(wxWindow *canvas, wxDC& dc)
 {
-
-#ifdef __GOOD_COMPILER__ // Robert Roebling
-
   int canvasWidth, canvasHeight;
   canvas->GetSize(&canvasWidth, &canvasHeight);
   
@@ -740,14 +714,11 @@ bool wxPrintPreviewBase::DrawBlankPage(wxWindow *canvas, wxDC& dc)
 
   dc.DrawRectangle((int)(x-1), (int)(y-1), (int)(actualWidth+2), (int)(actualHeight+2));
   
-#endif
-
   return TRUE;
 }
 
 void wxPrintPreviewBase::SetZoom(int percent)
 {
-#ifdef __GOOD_COMPILER__ // Robert Roebling
   if (m_currentZoom == percent)
     return;
     
@@ -764,6 +735,4 @@ void wxPrintPreviewBase::SetZoom(int percent)
     m_previewCanvas->Clear();
     m_previewCanvas->Refresh();
   }
-#endif  
-  
 }
index 3fcd53134c90b8fc4b961f572b82386fc74672a8..f1bc33d6df607fb86b569816416d14fb3288c658 100644 (file)
@@ -1406,9 +1406,10 @@ void wxGenericGrid::OnSelectCellImplementation(wxDC *dc, int row, int col)
 
   SetGridClippingRegion(dc);
 
-  // Why isn't this needed for Windows??
-  // Probably because of the SetValue??
-  // Arrrrrgh. This isn't needed anywhere, of course. RR.
+  // 1) Why isn't this needed for Windows??
+  // Probably because of the SetValue?? JS.
+  // 2) Arrrrrgh. This isn't needed anywhere, 
+  // of course. One hour of debugging... RR.
 #ifndef __WXMSW__
 //  HighlightCell(dc);
 #endif
@@ -2518,12 +2519,12 @@ void wxGenericGrid::_OnCreateCell(wxGridEvent& ev)
     ev.m_cell = OnCreateCell();
 }
 
-void wxGenericGrid::_OnChangeLabels(wxGridEvent& ev)
+void wxGenericGrid::_OnChangeLabels(wxGridEvent& WXUNUSED(ev))
 {
     OnChangeLabels();
 }
 
-void wxGenericGrid::_OnChangeSelectionLabel(wxGridEvent& ev)
+void wxGenericGrid::_OnChangeSelectionLabel(wxGridEvent& WXUNUSED(ev))
 {
     OnChangeSelectionLabel();
 }
index 22643c5c5e3b6aae2b61ef60e8e038815fb21606..05395a5b4682c069ab043eb870afd6f9bbf97379 100644 (file)
@@ -20,6 +20,7 @@
 #include "wx/font.h"
 #include "wx/settings.h"
 #include "wx/resource.h"
+#include "wx/module.h"
 
 #include "unistd.h"
 
@@ -424,6 +425,9 @@ int wxEntry( int argc, char *argv[] )
 
   wxApp::CommonInit();
 
+  wxModule::RegisterModules();
+  if (!wxModule::InitializeModules()) return FALSE;
+    
   wxTheApp->OnInitGui();
 
   // Here frames insert themselves automatically
@@ -442,6 +446,8 @@ int wxEntry( int argc, char *argv[] )
 
   wxTheApp->OnExit();
 
+  wxModule::CleanUpModules();
+  
   wxApp::CommonCleanUp();
 
   wxDELETE(wxTheApp);
index 452f2bde090ed72703f1084b73550dd91915f785..290d654ddf9646c05aeb2f56ddbe7bc9f7467e29 100644 (file)
@@ -555,7 +555,7 @@ bool wxPaintDC::Blit( long xdest, long ydest, long width, long height,
                 gdk_gc_set_clip_mask( m_textGC, mask );
                 gdk_gc_set_clip_origin( m_textGC, xx, yy );
             }
-  
+           
             gdk_draw_pixmap( m_window, m_textGC, pmap,
                              source->DeviceToLogicalX(xsrc), 
                             source->DeviceToLogicalY(ysrc),
@@ -829,6 +829,7 @@ void wxPaintDC::SetBackground( const wxBrush &brush )
   
     m_backgroundBrush.GetColour().CalcPixel( m_cmap );
     gdk_gc_set_background( m_brushGC, m_backgroundBrush.GetColour().GetColor() );
+    gdk_gc_set_background( m_bgGC, m_backgroundBrush.GetColour().GetColor() );
     gdk_gc_set_foreground( m_bgGC, m_backgroundBrush.GetColour().GetColor() );
   
     GdkFill fillStyle = GDK_SOLID;
@@ -950,9 +951,22 @@ void wxPaintDC::SetUpDC(void)
     m_bgGC = gdk_gc_new( m_window );
     SetTextForeground( m_textForegroundColour );
     SetTextBackground( m_textBackgroundColour );
-    SetPen( m_pen );
-    SetFont( m_font );
-    SetBrush( m_brush );
+    
+    wxPen tmp_pen( m_pen );
+    m_pen = wxNullPen;
+    SetPen( tmp_pen );
+    
+    wxFont tmp_font( m_font );
+    m_font = wxNullFont;
+    SetFont( tmp_font );
+    
+    wxBrush tmp_brush( m_brush );
+    m_brush = wxNullBrush;
+    SetBrush( tmp_brush );
+    
+    tmp_brush = m_backgroundBrush;
+    m_backgroundBrush = wxNullBrush;
+    SetBackground( tmp_brush );
   
     gdk_gc_set_background( m_penGC, wxWHITE->GetColor() );
   
index f346200a81233a2829f05aae300c705411911f8c..66f8772b980b1779cd5278a03faa7100936ff6d8 100644 (file)
 
 IMPLEMENT_DYNAMIC_CLASS(wxMemoryDC,wxPaintDC)
 
-wxMemoryDC::wxMemoryDC(void)
+wxMemoryDC::wxMemoryDC(void) : wxPaintDC()
 {
   m_ok = FALSE;
   
   m_cmap = gtk_widget_get_default_colormap();
 }
 
-wxMemoryDC::wxMemoryDC( wxDC *WXUNUSED(dc) )
+wxMemoryDC::wxMemoryDC( wxDC *WXUNUSED(dc) ) : wxPaintDC()
 {
   m_ok = FALSE;
   
index b2b8e025a803d715a0c0823cbe5768481de15a03..239505cf504d4e903cb63c51744f55d22d04eb2b 100644 (file)
@@ -186,15 +186,15 @@ static void gtk_window_draw_callback( GtkWidget *WXUNUSED(widget), GdkRectangle
 
 static gint gtk_window_key_press_callback( GtkWidget *widget, GdkEventKey *gdk_event, wxWindow *win )
 {
+    printf( "OnKeyPress.\n " );
+    
     if (!win->HasVMT()) return FALSE;
     if (g_blockEventsOnDrag) return FALSE;
 
-/*
     printf( "OnKeyPress from " );
     if (win->GetClassInfo() && win->GetClassInfo()->GetClassName())
         printf( win->GetClassInfo()->GetClassName() );
     printf( ".\n" );
-*/
 
     long key_code = 0;
     switch (gdk_event->keyval)
@@ -286,13 +286,19 @@ static gint gtk_window_key_press_callback( GtkWidget *widget, GdkEventKey *gdk_e
     event.m_y = 0;
     event.SetEventObject( win );
 
+    printf( "process key.\n" );
+    
     bool ret = win->GetEventHandler()->ProcessEvent( event );
 
+    printf( "no handler.\n" );
+    
     if (!ret)
     {
         wxWindow *ancestor = win;
         while (ancestor)
         {
+            printf( "check accel in %s .\n", WXSTRINGCAST ancestor->GetName() );
+           
             int command = ancestor->GetAcceleratorTable()->GetCommand( event );
             if (command != -1)
             {
index 22643c5c5e3b6aae2b61ef60e8e038815fb21606..05395a5b4682c069ab043eb870afd6f9bbf97379 100644 (file)
@@ -20,6 +20,7 @@
 #include "wx/font.h"
 #include "wx/settings.h"
 #include "wx/resource.h"
+#include "wx/module.h"
 
 #include "unistd.h"
 
@@ -424,6 +425,9 @@ int wxEntry( int argc, char *argv[] )
 
   wxApp::CommonInit();
 
+  wxModule::RegisterModules();
+  if (!wxModule::InitializeModules()) return FALSE;
+    
   wxTheApp->OnInitGui();
 
   // Here frames insert themselves automatically
@@ -442,6 +446,8 @@ int wxEntry( int argc, char *argv[] )
 
   wxTheApp->OnExit();
 
+  wxModule::CleanUpModules();
+  
   wxApp::CommonCleanUp();
 
   wxDELETE(wxTheApp);
index 452f2bde090ed72703f1084b73550dd91915f785..290d654ddf9646c05aeb2f56ddbe7bc9f7467e29 100644 (file)
@@ -555,7 +555,7 @@ bool wxPaintDC::Blit( long xdest, long ydest, long width, long height,
                 gdk_gc_set_clip_mask( m_textGC, mask );
                 gdk_gc_set_clip_origin( m_textGC, xx, yy );
             }
-  
+           
             gdk_draw_pixmap( m_window, m_textGC, pmap,
                              source->DeviceToLogicalX(xsrc), 
                             source->DeviceToLogicalY(ysrc),
@@ -829,6 +829,7 @@ void wxPaintDC::SetBackground( const wxBrush &brush )
   
     m_backgroundBrush.GetColour().CalcPixel( m_cmap );
     gdk_gc_set_background( m_brushGC, m_backgroundBrush.GetColour().GetColor() );
+    gdk_gc_set_background( m_bgGC, m_backgroundBrush.GetColour().GetColor() );
     gdk_gc_set_foreground( m_bgGC, m_backgroundBrush.GetColour().GetColor() );
   
     GdkFill fillStyle = GDK_SOLID;
@@ -950,9 +951,22 @@ void wxPaintDC::SetUpDC(void)
     m_bgGC = gdk_gc_new( m_window );
     SetTextForeground( m_textForegroundColour );
     SetTextBackground( m_textBackgroundColour );
-    SetPen( m_pen );
-    SetFont( m_font );
-    SetBrush( m_brush );
+    
+    wxPen tmp_pen( m_pen );
+    m_pen = wxNullPen;
+    SetPen( tmp_pen );
+    
+    wxFont tmp_font( m_font );
+    m_font = wxNullFont;
+    SetFont( tmp_font );
+    
+    wxBrush tmp_brush( m_brush );
+    m_brush = wxNullBrush;
+    SetBrush( tmp_brush );
+    
+    tmp_brush = m_backgroundBrush;
+    m_backgroundBrush = wxNullBrush;
+    SetBackground( tmp_brush );
   
     gdk_gc_set_background( m_penGC, wxWHITE->GetColor() );
   
index f346200a81233a2829f05aae300c705411911f8c..66f8772b980b1779cd5278a03faa7100936ff6d8 100644 (file)
 
 IMPLEMENT_DYNAMIC_CLASS(wxMemoryDC,wxPaintDC)
 
-wxMemoryDC::wxMemoryDC(void)
+wxMemoryDC::wxMemoryDC(void) : wxPaintDC()
 {
   m_ok = FALSE;
   
   m_cmap = gtk_widget_get_default_colormap();
 }
 
-wxMemoryDC::wxMemoryDC( wxDC *WXUNUSED(dc) )
+wxMemoryDC::wxMemoryDC( wxDC *WXUNUSED(dc) ) : wxPaintDC()
 {
   m_ok = FALSE;
   
index b2b8e025a803d715a0c0823cbe5768481de15a03..239505cf504d4e903cb63c51744f55d22d04eb2b 100644 (file)
@@ -186,15 +186,15 @@ static void gtk_window_draw_callback( GtkWidget *WXUNUSED(widget), GdkRectangle
 
 static gint gtk_window_key_press_callback( GtkWidget *widget, GdkEventKey *gdk_event, wxWindow *win )
 {
+    printf( "OnKeyPress.\n " );
+    
     if (!win->HasVMT()) return FALSE;
     if (g_blockEventsOnDrag) return FALSE;
 
-/*
     printf( "OnKeyPress from " );
     if (win->GetClassInfo() && win->GetClassInfo()->GetClassName())
         printf( win->GetClassInfo()->GetClassName() );
     printf( ".\n" );
-*/
 
     long key_code = 0;
     switch (gdk_event->keyval)
@@ -286,13 +286,19 @@ static gint gtk_window_key_press_callback( GtkWidget *widget, GdkEventKey *gdk_e
     event.m_y = 0;
     event.SetEventObject( win );
 
+    printf( "process key.\n" );
+    
     bool ret = win->GetEventHandler()->ProcessEvent( event );
 
+    printf( "no handler.\n" );
+    
     if (!ret)
     {
         wxWindow *ancestor = win;
         while (ancestor)
         {
+            printf( "check accel in %s .\n", WXSTRINGCAST ancestor->GetName() );
+           
             int command = ancestor->GetAcceleratorTable()->GetCommand( event );
             if (command != -1)
             {