]> git.saurik.com Git - wxWidgets.git/commitdiff
Removed minor differences between wxMSW and wxGTK
authorRobert Roebling <robert@roebling.de>
Thu, 17 Dec 1998 14:07:46 +0000 (14:07 +0000)
committerRobert Roebling <robert@roebling.de>
Thu, 17 Dec 1998 14:07:46 +0000 (14:07 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1216 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

31 files changed:
docs/gtk/install.txt
docs/gtk/todo.txt
include/wx/generic/colrdlgg.h
include/wx/generic/listctrl.h
include/wx/generic/treectrl.h
include/wx/gtk/brush.h
include/wx/gtk/checklst.h
include/wx/gtk/dc.h
include/wx/gtk/menu.h
include/wx/gtk/window.h
include/wx/gtk1/brush.h
include/wx/gtk1/checklst.h
include/wx/gtk1/dc.h
include/wx/gtk1/menu.h
include/wx/gtk1/window.h
samples/checklst/checklst.cpp
src/generic/listctrl.cpp
src/generic/treectrl.cpp
src/gtk/checklst.cpp
src/gtk/listbox.cpp
src/gtk/window.cpp
src/gtk1/checklst.cpp
src/gtk1/listbox.cpp
src/gtk1/window.cpp
utils/wxPython/src/cmndlgs.i
utils/wxPython/src/controls.i
utils/wxPython/src/controls2.i
utils/wxPython/src/gdi.i
utils/wxPython/src/helpers.cpp
utils/wxPython/src/stattool.i
utils/wxPython/src/windows.i

index 728fd2f7493b4540331e0cb72994bda30c5a9aba..f728dc008d01989769b2f4a49bcb9bdae26387e7 100644 (file)
@@ -70,6 +70,7 @@ distributions have correct glibc 2 support:
  - RedHat 5.1
  - Debian 2.0
  - Stampede
+ - DLD 6.0
  
 The next major version of SuSE will also support glibc 2,
 but version 5.X does not. Also Caldera and Slackware
index fafe591206da7ac982cf60bf5be193a088e11c66..05ba0e3afddf7b4944dac5c73993c3986f52a94b 100644 (file)
@@ -1,9 +1,6 @@
 
 -------------------- High priority ---------------------
 
-wxClipboard
-  -> On the way, but not functional yet.
-  
 -------------------- Low priority ---------------------
     
 OwnerDraw for wxListCtrl and others
@@ -18,15 +15,9 @@ wxDebugContext <-> wxLogXXX functions
 Implement wxPalette
   -> I never understood that. Postponed.
   
-Implement wxDirDialog
-  -> Not heard of. Postponed.
-
 Show accelerator in menus
   -> Changed in GTK 1.1.X. Postponed.
   
-Correct tab navigation
-  -> seems to be broken in GTK. Postponed.
-  
 Cooperation with Qt
   -> Would be nice.
   
\ No newline at end of file
index dac3a81ea2b7dd1ef181cee2df2132151afa526d..942d2ed8ee166666bd49ac1f9c009f96ec2e4708 100644 (file)
@@ -82,7 +82,7 @@ class WXDLLEXPORT wxGenericColourDialog: public wxDialog
   bool Create(wxWindow *parent, wxColourData *data = (wxColourData *) NULL);
 
   int ShowModal(void);
-  wxColourData GetColourData(void) { return colourData; }
+  wxColourData &GetColourData(void) { return colourData; }
 
   // Internal functions
   void OnMouseEvent(wxMouseEvent& event);
index 0fd0373086348d292d8e541aa74b24d2d0b778ab..81c34064dfab389a803c40c9f4b967495a405403 100644 (file)
@@ -582,9 +582,10 @@ class wxListCtrl: public wxControl
     wxImageList *GetImageList(int which) const;
     void SetImageList(wxImageList *imageList, int which) ;
     bool Arrange( int flag = wxLIST_ALIGN_DEFAULT ); // always wxLIST_ALIGN_LEFT in wxGLC
+    void ClearAll();
     bool DeleteItem( long item );
-    bool DeleteAllItems(void) ;
-    void DeleteAllColumns(void) ;
+    bool DeleteAllItems(void);
+    bool DeleteAllColumns(void);
     bool DeleteColumn( int col );
 //  wxText& Edit(long item) ;  // not supported in wxGLC
     bool EnsureVisible( long item );
index 818bf59a2ac431e748df6af782e3817c95417b6b..0158561753f500947457dec83cabb35983172a7a 100644 (file)
 #include "wx/scrolwin.h"
 #include "wx/textctrl.h"
 
+// -----------------------------------------------------------------------------
+// constants
+// -----------------------------------------------------------------------------
+
+// values for the `flags' parameter of wxTreeCtrl::HitTest() which determine
+// where exactly the specified point is situated:
+static const int wxTREE_HITTEST_NOWHERE          = 0x0004;
+    // on the bitmap associated with an item.
+static const int wxTREE_HITTEST_ONITEMICON       = 0x0020;
+    // on the label (string) associated with an item.
+static const int wxTREE_HITTEST_ONITEMLABEL      = 0x0080;
+    // anywhere on the item
+static const int wxTREE_HITTEST_ONITEM  = wxTREE_HITTEST_ONITEMICON |
+                                          wxTREE_HITTEST_ONITEMLABEL;
+                                         
 // -----------------------------------------------------------------------------
 // forward declaration
 // -----------------------------------------------------------------------------
@@ -186,9 +201,10 @@ public:
                const wxPoint& pos = wxDefaultPosition,
                const wxSize& size = wxDefaultSize,
                long style = wxTR_HAS_BUTTONS | wxTR_LINES_AT_ROOT,
+              const wxValidator &validator = wxDefaultValidator,
                const wxString& name = "wxTreeCtrl")
     {
-        Create(parent, id, pos, size, style, name);
+        Create(parent, id, pos, size, style, validator, name);
     }
 
     virtual ~wxTreeCtrl();
@@ -197,6 +213,7 @@ public:
                 const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize,
                 long style = wxTR_HAS_BUTTONS | wxTR_LINES_AT_ROOT,
+               const wxValidator &validator = wxDefaultValidator,
                 const wxString& name = "wxTreeCtrl");
 
     // accessors
@@ -375,6 +392,12 @@ public:
         // scroll to this item (but don't expand its parent)
     void ScrollTo(const wxTreeItemId& item);
 
+        // The first function is more portable (because easier to implement
+        // on other platforms), but the second one returns some extra info.
+    wxTreeItemId HitTest(const wxPoint& point)
+        { int dummy; return HitTest(point, dummy); }
+    wxTreeItemId HitTest(const wxPoint& point, int& flags);
+    
         // start editing the item label: this (temporarily) replaces the item
         // with a one line edit control. The item will be selected if it hadn't
         // been before. textCtrlClass parameter allows you to create an edit
index 43213033b030969a4d7a983da3533291ac11c4f9..c52eb450111e90d5ce0ee078994abfb95f7ca247 100644 (file)
@@ -51,7 +51,6 @@ class wxBrush: public wxGDIObject
     wxColour &GetColour() const;
     wxBitmap *GetStipple() const;
 
-
     void SetColour( const wxColour& col );
     void SetColour( unsigned char r, unsigned char g, unsigned char b );
     void SetStyle( int style );
index 48cb62cf76ddd1099da8f462d9a32a59316cdc57..878adc29561e48b584c2feb947bdcb9b818eeb88 100644 (file)
@@ -48,6 +48,8 @@ public:
 
   bool IsChecked( int index ) const;
   void Check( int index, bool check = TRUE );
+  
+  int GetItemHeight();
 
 };
 
index 09fef319601d758f52568d76308b2e38439dfd16..7f4503fb6efe62ec9497ea5d361fb53386001090 100644 (file)
@@ -189,16 +189,16 @@ public:
   virtual void Clear() = 0;
 
   virtual void SetFont( const wxFont &font ) = 0;
-  virtual const wxFont& GetFont() const { return m_font; };
+  virtual wxFont& GetFont() const { return (wxFont&)m_font; };
 
   virtual void SetPen( const wxPen &pen ) = 0;
-  virtual const wxPen& GetPen() const { return m_pen; };
+  virtual wxPen& GetPen() const { return (wxPen&)m_pen; };
 
   virtual void SetBrush( const wxBrush &brush ) = 0;
-  virtual const wxBrush& GetBrush() const { return m_brush; };
+  virtual wxBrush& GetBrush() const { return (wxBrush&)m_brush; };
 
   virtual void SetBackground( const wxBrush &brush ) = 0;
-  virtual const wxBrush& GetBackground() const { return m_backgroundBrush; };
+  virtual wxBrush& GetBackground() const { return (wxBrush&)m_backgroundBrush; };
 
   virtual void SetLogicalFunction( int function ) = 0;
   virtual int GetLogicalFunction() { return m_logicalFunction; };
index 9896ab085e281314164ffbd2daa49ebebeafafb6..71a9fde5b39e6a362462af634b3138c1c8101ced 100644 (file)
@@ -49,6 +49,8 @@ public:
 
   int FindMenuItem( const wxString &menuString, const wxString &itemString ) const;
   wxMenuItem* FindMenuItemById( int id ) const;
+  inline wxMenuItem* FindMenuItemForId( int id ) const
+    { return FindMenuItemById( id ); }
   
   void Check( int id, bool check );
   bool Checked( int id ) const;
index 82a4de7e781b872730adde6051e365f3def71a19..fc4a1e35e2869cb5ecca0730d81d1353b4af730e 100644 (file)
@@ -134,11 +134,23 @@ public:
   virtual void SetSize( int x, int y, int width, int height,
     int sizeFlags = wxSIZE_AUTO );
   virtual void SetSize( int width, int height );
+  
   virtual void Move( int x, int y );
+  
   virtual void GetSize( int *width, int *height ) const;
+  wxSize GetSize() const { int w, h; GetSize(& w, & h); return wxSize(w, h); }
+  
   virtual void SetClientSize( int const width, int const height );
+  
   virtual void GetClientSize( int *width, int *height ) const;
+  wxSize GetClientSize() const { int w, h; GetClientSize(& w, & h); return wxSize(w, h); }
+  
   virtual void GetPosition( int *x, int *y ) const;
+  wxPoint GetPosition() const { int w, h; GetPosition(& w, & h); return wxPoint(w, h); }
+  
+  wxRect GetRect() const
+    { int x, y, w, h; GetPosition(& x, & y); GetSize(& w, & h); return wxRect(x, y, w, h); }
+    
   virtual void Centre( int direction = wxHORIZONTAL );
   inline void Center(int direction = wxHORIZONTAL) { Centre(direction); }
   virtual void Fit();
@@ -204,6 +216,8 @@ public:
 
   void SetCursor( const wxCursor &cursor );
 
+  void WarpPointer(int x, int y);
+  
   virtual void Refresh( bool eraseBackground = TRUE, const wxRect *rect = (const wxRect *) NULL );
   virtual void Clear();
 
@@ -226,13 +240,13 @@ public:
                              const wxFont *theFont = (const wxFont *) NULL, bool use16 = FALSE) const;
 
   virtual void SetFont( const wxFont &font );
-  virtual const wxFont& GetFont() { return m_font; }
+  virtual wxFont& GetFont() { return m_font; }
 
     // For backward compatibility
   inline virtual void SetButtonFont(const wxFont& font) { SetFont(font); }
   inline virtual void SetLabelFont(const wxFont& font) { SetFont(font); }
-  inline virtual const wxFont& GetLabelFont() { return GetFont(); };
-  inline virtual const wxFont& GetButtonFont() { return GetFont(); };
+  inline virtual wxFont& GetLabelFont() { return GetFont(); };
+  inline virtual wxFont& GetButtonFont() { return GetFont(); };
 
   virtual void SetWindowStyleFlag( long flag );
   virtual long GetWindowStyleFlag() const;
index 43213033b030969a4d7a983da3533291ac11c4f9..c52eb450111e90d5ce0ee078994abfb95f7ca247 100644 (file)
@@ -51,7 +51,6 @@ class wxBrush: public wxGDIObject
     wxColour &GetColour() const;
     wxBitmap *GetStipple() const;
 
-
     void SetColour( const wxColour& col );
     void SetColour( unsigned char r, unsigned char g, unsigned char b );
     void SetStyle( int style );
index 48cb62cf76ddd1099da8f462d9a32a59316cdc57..878adc29561e48b584c2feb947bdcb9b818eeb88 100644 (file)
@@ -48,6 +48,8 @@ public:
 
   bool IsChecked( int index ) const;
   void Check( int index, bool check = TRUE );
+  
+  int GetItemHeight();
 
 };
 
index 09fef319601d758f52568d76308b2e38439dfd16..7f4503fb6efe62ec9497ea5d361fb53386001090 100644 (file)
@@ -189,16 +189,16 @@ public:
   virtual void Clear() = 0;
 
   virtual void SetFont( const wxFont &font ) = 0;
-  virtual const wxFont& GetFont() const { return m_font; };
+  virtual wxFont& GetFont() const { return (wxFont&)m_font; };
 
   virtual void SetPen( const wxPen &pen ) = 0;
-  virtual const wxPen& GetPen() const { return m_pen; };
+  virtual wxPen& GetPen() const { return (wxPen&)m_pen; };
 
   virtual void SetBrush( const wxBrush &brush ) = 0;
-  virtual const wxBrush& GetBrush() const { return m_brush; };
+  virtual wxBrush& GetBrush() const { return (wxBrush&)m_brush; };
 
   virtual void SetBackground( const wxBrush &brush ) = 0;
-  virtual const wxBrush& GetBackground() const { return m_backgroundBrush; };
+  virtual wxBrush& GetBackground() const { return (wxBrush&)m_backgroundBrush; };
 
   virtual void SetLogicalFunction( int function ) = 0;
   virtual int GetLogicalFunction() { return m_logicalFunction; };
index 9896ab085e281314164ffbd2daa49ebebeafafb6..71a9fde5b39e6a362462af634b3138c1c8101ced 100644 (file)
@@ -49,6 +49,8 @@ public:
 
   int FindMenuItem( const wxString &menuString, const wxString &itemString ) const;
   wxMenuItem* FindMenuItemById( int id ) const;
+  inline wxMenuItem* FindMenuItemForId( int id ) const
+    { return FindMenuItemById( id ); }
   
   void Check( int id, bool check );
   bool Checked( int id ) const;
index 82a4de7e781b872730adde6051e365f3def71a19..fc4a1e35e2869cb5ecca0730d81d1353b4af730e 100644 (file)
@@ -134,11 +134,23 @@ public:
   virtual void SetSize( int x, int y, int width, int height,
     int sizeFlags = wxSIZE_AUTO );
   virtual void SetSize( int width, int height );
+  
   virtual void Move( int x, int y );
+  
   virtual void GetSize( int *width, int *height ) const;
+  wxSize GetSize() const { int w, h; GetSize(& w, & h); return wxSize(w, h); }
+  
   virtual void SetClientSize( int const width, int const height );
+  
   virtual void GetClientSize( int *width, int *height ) const;
+  wxSize GetClientSize() const { int w, h; GetClientSize(& w, & h); return wxSize(w, h); }
+  
   virtual void GetPosition( int *x, int *y ) const;
+  wxPoint GetPosition() const { int w, h; GetPosition(& w, & h); return wxPoint(w, h); }
+  
+  wxRect GetRect() const
+    { int x, y, w, h; GetPosition(& x, & y); GetSize(& w, & h); return wxRect(x, y, w, h); }
+    
   virtual void Centre( int direction = wxHORIZONTAL );
   inline void Center(int direction = wxHORIZONTAL) { Centre(direction); }
   virtual void Fit();
@@ -204,6 +216,8 @@ public:
 
   void SetCursor( const wxCursor &cursor );
 
+  void WarpPointer(int x, int y);
+  
   virtual void Refresh( bool eraseBackground = TRUE, const wxRect *rect = (const wxRect *) NULL );
   virtual void Clear();
 
@@ -226,13 +240,13 @@ public:
                              const wxFont *theFont = (const wxFont *) NULL, bool use16 = FALSE) const;
 
   virtual void SetFont( const wxFont &font );
-  virtual const wxFont& GetFont() { return m_font; }
+  virtual wxFont& GetFont() { return m_font; }
 
     // For backward compatibility
   inline virtual void SetButtonFont(const wxFont& font) { SetFont(font); }
   inline virtual void SetLabelFont(const wxFont& font) { SetFont(font); }
-  inline virtual const wxFont& GetLabelFont() { return GetFont(); };
-  inline virtual const wxFont& GetButtonFont() { return GetFont(); };
+  inline virtual wxFont& GetLabelFont() { return GetFont(); };
+  inline virtual wxFont& GetButtonFont() { return GetFont(); };
 
   virtual void SetWindowStyleFlag( long flag );
   virtual long GetWindowStyleFlag() const;
index 8310a8aa919968cd74b2b6869faf8689ec8268c0..e9aecd779f2e4021314468f8417b11382df16c41 100644 (file)
@@ -154,12 +154,12 @@ CheckListBoxFrame::~CheckListBoxFrame()
 {
 }
 
-void CheckListBoxFrame::OnQuit(wxCommandEvent& event)
+void CheckListBoxFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
 {
   Close(TRUE);
 }
 
-void CheckListBoxFrame::OnAbout(wxCommandEvent& event)
+void CheckListBoxFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
 {
   wxMessageDialog dialog(this, "Demo of wxCheckListBox control\n"
                          "About wxCheckListBox", wxYES_NO | wxCANCEL);
@@ -175,7 +175,7 @@ void CheckListBoxFrame::OnListboxSelect(wxCommandEvent& event)
   SetStatusText(strSelection);
 }
 
-void CheckListBoxFrame::OnListboxDblClick(wxCommandEvent& event)
+void CheckListBoxFrame::OnListboxDblClick(wxCommandEvent& WXUNUSED(event))
 {
   wxString strSelection;
   strSelection.sprintf("item %d double clicked", m_pListBox->GetSelection());
index 47febe9e3e4bbe5e41c8d2cae6b6b7b181f0bd61..3411f58f1bb5e2f17ef414f806e2d1c50422c682 100644 (file)
@@ -2596,10 +2596,17 @@ bool wxListCtrl::DeleteAllItems(void)
   return TRUE;
 }
 
-void wxListCtrl::DeleteAllColumns()
+bool wxListCtrl::DeleteAllColumns()
 {
     for ( size_t n = 0; n < m_mainWin->m_columns.GetCount(); n++ )
         DeleteColumn(n);
+       
+   return TRUE;
+}
+
+void wxListCtrl::ClearAll()
+{
+  m_mainWin->DeleteEverything();
 }
 
 bool wxListCtrl::DeleteColumn( int col )
index 04d3717ec3cf45e27c80eb53b366553f456b07bc..ba33d471b7164adec6bc96d1e16530a9717674ec 100644 (file)
@@ -329,11 +329,15 @@ void wxTreeCtrl::Init()
 
 bool wxTreeCtrl::Create(wxWindow *parent, wxWindowID id,
                         const wxPoint& pos, const wxSize& size,
-                        long style, const wxString& name )
+                        long style, 
+                       const wxValidator &validator,
+                       const wxString& name )
 {
   Init();
 
   wxScrolledWindow::Create( parent, id, pos, size, style|wxHSCROLL|wxVSCROLL, name );
+  
+  SetValidator( validator );
 
   SetBackgroundColour( *wxWHITE );
   m_dottedPen = wxPen( *wxBLACK, 0, 0 );
@@ -1219,6 +1223,12 @@ void wxTreeCtrl::OnChar( wxKeyEvent &event )
   }
 }
 
+wxTreeItemId wxTreeCtrl::HitTest(const wxPoint& point, int& WXUNUSED(flags))
+{
+  bool onButton = FALSE;
+  return m_anchor->HitTest( point, onButton );
+}
+
 void wxTreeCtrl::OnMouse( wxMouseEvent &event )
 {
   if ( !(event.LeftDown() || event.LeftDClick()) )
index 02df541f16a9b42d1bbdf6a7568930392933d6d1..4d7e6fe775caa65e83fc7be514effe48ebf40e2d 100644 (file)
@@ -77,14 +77,13 @@ void wxCheckListBox::Check( int index, bool check )
            
        gtk_label_set( label, str );
            
-       wxCommandEvent event( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, GetId() );
-       event.SetEventObject( this );
-       event.SetInt( index );
-       GetEventHandler()->ProcessEvent( event );
-       
        return;
     }
     
     wxFAIL_MSG("wrong checklistbox index");
 }
 
+int wxCheckListBox::GetItemHeight()
+{
+    return 22;
+}
index a9ef5ae2875dc9fa1e87737fa91efe32393ed9d4..630925e13509d829cf3513d02ece8a2064926911 100644 (file)
@@ -47,14 +47,28 @@ gtk_listbox_button_press_callback( GtkWidget *widget, GdkEventButton *gdk_event,
 
     if (!listbox->HasVMT()) return FALSE;
 
-    if (gdk_event->x > 15) return FALSE;
-    
     int sel = listbox->GetIndex( widget );
     
-    wxCheckListBox *clb = (wxCheckListBox *)listbox;
+    if ((listbox->m_hasCheckBoxes) && (gdk_event->x < 15) && (gdk_event->type != GDK_2BUTTON_PRESS))
+    {
+        wxCheckListBox *clb = (wxCheckListBox *)listbox;
     
-    clb->Check( sel, !clb->IsChecked(sel) );
+        clb->Check( sel, !clb->IsChecked(sel) );
     
+        wxCommandEvent event( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, listbox->GetId() );
+        event.SetEventObject( listbox );
+        event.SetInt( sel );
+        listbox->GetEventHandler()->ProcessEvent( event );
+    }
+    
+    if (gdk_event->type == GDK_2BUTTON_PRESS)
+    {
+        wxCommandEvent event( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, listbox->GetId() );
+        event.SetEventObject( listbox );
+        event.SetInt( sel );
+        listbox->GetEventHandler()->ProcessEvent( event );
+    }
+
     return FALSE;
 }
 
@@ -77,6 +91,11 @@ gtk_listbox_key_press_callback( GtkWidget *widget, GdkEventKey *gdk_event, wxLis
     
     clb->Check( sel, !clb->IsChecked(sel) );
     
+    wxCommandEvent event( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, listbox->GetId() );
+    event.SetEventObject( listbox );
+    event.SetInt( sel );
+    listbox->GetEventHandler()->ProcessEvent( event );
+       
     return FALSE;
 }
 
@@ -219,13 +238,13 @@ bool wxListBox::Create( wxWindow *parent, wxWindowID id,
                                "button_press_event",
                                 (GtkSignalFunc)gtk_listbox_button_press_callback, 
                                (gpointer) this );
-                               
-            gtk_signal_connect( GTK_OBJECT(list_item), 
-                               "key_press_event",
-                                (GtkSignalFunc)gtk_listbox_key_press_callback, 
-                               (gpointer)this );
        }
        
+        gtk_signal_connect( GTK_OBJECT(list_item), 
+                           "key_press_event",
+                            (GtkSignalFunc)gtk_listbox_key_press_callback, 
+                           (gpointer)this );
+       
         ConnectWidget( list_item );    
        
         gtk_widget_show( list_item );
@@ -286,12 +305,12 @@ void wxListBox::AppendCommon( const wxString &item )
                                "button_press_event",
                                 (GtkSignalFunc)gtk_listbox_button_press_callback, 
                                (gpointer) this );
-                               
-            gtk_signal_connect( GTK_OBJECT(list_item), 
-                               "key_press_event",
-                                (GtkSignalFunc)gtk_listbox_key_press_callback, 
-                               (gpointer)this );    
     }
+    
+    gtk_signal_connect( GTK_OBJECT(list_item), 
+                       "key_press_event",
+                        (GtkSignalFunc)gtk_listbox_key_press_callback, 
+                       (gpointer)this );    
        
     gtk_widget_show( list_item );
 
index 4d375355ffc34eb3f98cbe262e710e22e88a008a..f9de7711aab7eaa7e273b92f8b5bef7cf9174360 100644 (file)
@@ -2190,6 +2190,11 @@ void wxWindow::SetCursor( const wxCursor &cursor )
          gdk_window_set_cursor( m_wxwindow->window, m_cursor->GetCursor() );
 }
 
+void wxWindow::WarpPointer( int WXUNUSED(x), int WXUNUSED(y) )
+{
+  // TODO
+}
+
 void wxWindow::Refresh( bool eraseBackground, const wxRect *rect )
 {
     wxCHECK_RET( (m_widget != NULL), "invalid window" );
index 02df541f16a9b42d1bbdf6a7568930392933d6d1..4d7e6fe775caa65e83fc7be514effe48ebf40e2d 100644 (file)
@@ -77,14 +77,13 @@ void wxCheckListBox::Check( int index, bool check )
            
        gtk_label_set( label, str );
            
-       wxCommandEvent event( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, GetId() );
-       event.SetEventObject( this );
-       event.SetInt( index );
-       GetEventHandler()->ProcessEvent( event );
-       
        return;
     }
     
     wxFAIL_MSG("wrong checklistbox index");
 }
 
+int wxCheckListBox::GetItemHeight()
+{
+    return 22;
+}
index a9ef5ae2875dc9fa1e87737fa91efe32393ed9d4..630925e13509d829cf3513d02ece8a2064926911 100644 (file)
@@ -47,14 +47,28 @@ gtk_listbox_button_press_callback( GtkWidget *widget, GdkEventButton *gdk_event,
 
     if (!listbox->HasVMT()) return FALSE;
 
-    if (gdk_event->x > 15) return FALSE;
-    
     int sel = listbox->GetIndex( widget );
     
-    wxCheckListBox *clb = (wxCheckListBox *)listbox;
+    if ((listbox->m_hasCheckBoxes) && (gdk_event->x < 15) && (gdk_event->type != GDK_2BUTTON_PRESS))
+    {
+        wxCheckListBox *clb = (wxCheckListBox *)listbox;
     
-    clb->Check( sel, !clb->IsChecked(sel) );
+        clb->Check( sel, !clb->IsChecked(sel) );
     
+        wxCommandEvent event( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, listbox->GetId() );
+        event.SetEventObject( listbox );
+        event.SetInt( sel );
+        listbox->GetEventHandler()->ProcessEvent( event );
+    }
+    
+    if (gdk_event->type == GDK_2BUTTON_PRESS)
+    {
+        wxCommandEvent event( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, listbox->GetId() );
+        event.SetEventObject( listbox );
+        event.SetInt( sel );
+        listbox->GetEventHandler()->ProcessEvent( event );
+    }
+
     return FALSE;
 }
 
@@ -77,6 +91,11 @@ gtk_listbox_key_press_callback( GtkWidget *widget, GdkEventKey *gdk_event, wxLis
     
     clb->Check( sel, !clb->IsChecked(sel) );
     
+    wxCommandEvent event( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, listbox->GetId() );
+    event.SetEventObject( listbox );
+    event.SetInt( sel );
+    listbox->GetEventHandler()->ProcessEvent( event );
+       
     return FALSE;
 }
 
@@ -219,13 +238,13 @@ bool wxListBox::Create( wxWindow *parent, wxWindowID id,
                                "button_press_event",
                                 (GtkSignalFunc)gtk_listbox_button_press_callback, 
                                (gpointer) this );
-                               
-            gtk_signal_connect( GTK_OBJECT(list_item), 
-                               "key_press_event",
-                                (GtkSignalFunc)gtk_listbox_key_press_callback, 
-                               (gpointer)this );
        }
        
+        gtk_signal_connect( GTK_OBJECT(list_item), 
+                           "key_press_event",
+                            (GtkSignalFunc)gtk_listbox_key_press_callback, 
+                           (gpointer)this );
+       
         ConnectWidget( list_item );    
        
         gtk_widget_show( list_item );
@@ -286,12 +305,12 @@ void wxListBox::AppendCommon( const wxString &item )
                                "button_press_event",
                                 (GtkSignalFunc)gtk_listbox_button_press_callback, 
                                (gpointer) this );
-                               
-            gtk_signal_connect( GTK_OBJECT(list_item), 
-                               "key_press_event",
-                                (GtkSignalFunc)gtk_listbox_key_press_callback, 
-                               (gpointer)this );    
     }
+    
+    gtk_signal_connect( GTK_OBJECT(list_item), 
+                       "key_press_event",
+                        (GtkSignalFunc)gtk_listbox_key_press_callback, 
+                       (gpointer)this );    
        
     gtk_widget_show( list_item );
 
index 4d375355ffc34eb3f98cbe262e710e22e88a008a..f9de7711aab7eaa7e273b92f8b5bef7cf9174360 100644 (file)
@@ -2190,6 +2190,11 @@ void wxWindow::SetCursor( const wxCursor &cursor )
          gdk_window_set_cursor( m_wxwindow->window, m_cursor->GetCursor() );
 }
 
+void wxWindow::WarpPointer( int WXUNUSED(x), int WXUNUSED(y) )
+{
+  // TODO
+}
+
 void wxWindow::Refresh( bool eraseBackground, const wxRect *rect )
 {
     wxCHECK_RET( (m_widget != NULL), "invalid window" );
index f4942a4ffb54a234b1b21c3ffb9007bf122f4109..4a17cfce3618d7bd502a0c748ea1a63b246d73ac 100644 (file)
@@ -55,18 +55,13 @@ public:
 
     %pragma(python) addtomethod = "__init__:wx._StdDialogCallbacks(self)"
 
-#ifdef __WXMSW__
     wxColourData& GetColourData();
-#else
-    wxColourData GetColourData();
-#endif
     int ShowModal();
 };
 
 
 //----------------------------------------------------------------------
 
-#ifdef __WXMSW__
 class wxDirDialog : public wxDialog {
 public:
     wxDirDialog(wxWindow* parent,
@@ -84,7 +79,6 @@ public:
     void SetPath(const wxString& path);
     int ShowModal();
 };
-#endif
 
 //----------------------------------------------------------------------
 
@@ -311,6 +305,9 @@ public:
 /////////////////////////////////////////////////////////////////////////////
 //
 // $Log$
+// Revision 1.8  1998/12/17 14:07:25  RR
+//   Removed minor differences between wxMSW and wxGTK
+//
 // Revision 1.7  1998/12/15 20:41:14  RD
 // Changed the import semantics from "from wxPython import *" to "from
 // wxPython.wx import *"  This is for people who are worried about
index 7279b5dc3c6d6d51d928e564761cff8e6915ad41..7b5098130ef2db915cf91e6ff46c90e907f351e9 100644 (file)
@@ -83,14 +83,12 @@ public:
     %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
 
     wxBitmap& GetBitmapLabel();
-#ifdef __WXMSW__
     wxBitmap& GetBitmapDisabled();
     wxBitmap& GetBitmapFocus();
     wxBitmap& GetBitmapSelected();
     void SetBitmapDisabled(const wxBitmap& bitmap);
     void SetBitmapFocus(const wxBitmap& bitmap);
     void SetBitmapSelected(const wxBitmap& bitmap);
-#endif
     void SetBitmapLabel(const wxBitmap& bitmap);
 
 };
@@ -270,7 +268,6 @@ public:
 
 //----------------------------------------------------------------------
 
-#ifdef __WXMSW__
 class wxCheckListBox : public wxListBox {
 public:
     wxCheckListBox(wxWindow *parent, wxWindowID id,
@@ -289,7 +286,6 @@ public:
 
     int GetItemHeight();
 };
-#endif
 
 //----------------------------------------------------------------------
 
@@ -483,6 +479,9 @@ public:
 /////////////////////////////////////////////////////////////////////////////
 //
 // $Log$
+// Revision 1.9  1998/12/17 14:07:29  RR
+//   Removed minor differences between wxMSW and wxGTK
+//
 // Revision 1.8  1998/12/15 20:41:15  RD
 // Changed the import semantics from "from wxPython import *" to "from
 // wxPython.wx import *"  This is for people who are worried about
index 211ce72b14ade95b906c93376c3d92230f7e8cb2..bd3ea2da4e7a39ad470676f3b762226837fb4081 100644 (file)
@@ -90,11 +90,12 @@ public:
     bool DeleteItem(long item);
     bool DeleteAllItems();
     bool DeleteColumn(int col);
-#ifdef __WXMSW__
     bool DeleteAllColumns(void);
     void ClearAll(void);
+#ifdef __WXMSW__
     wxTextCtrl* EditLabel(long item);
     bool EndEditLabel(bool cancel);
+    wxTextCtrl* GetEditControl();
 #endif
     bool EnsureVisible(long item);
     long FindItem(long start, const wxString& str, bool partial = FALSE);
@@ -104,9 +105,6 @@ public:
     bool GetColumn(int col, wxListItem& item);
     int GetColumnWidth(int col);
     int GetCountPerPage();
-#ifdef __WXMSW__
-    wxTextCtrl* GetEditControl();
-#endif
     wxImageList* GetImageList(int which);
     long GetItemData(long item);
 
@@ -138,6 +136,7 @@ public:
     int GetSelectedItemCount();
 #ifdef __WXMSW__
     wxColour GetTextColour();
+    void SetTextColour(const wxColour& col);
 #endif
     long GetTopItem();
     long HitTest(const wxPoint& point, int& OUTPUT);
@@ -166,9 +165,6 @@ public:
     bool SetItemState(long item, long state, long stateMask);
     void SetItemText(long item, const wxString& text);
     void SetSingleStyle(long style, bool add = TRUE);
-#ifdef __WXMSW__
-    void SetTextColour(const wxColour& col);
-#endif
     void SetWindowStyleFlag(long style);
     // TODO:  bool SortItems(wxListCtrlCompare fn, long data);
 };
@@ -222,7 +218,6 @@ public:
 
 class wxTreeCtrl : public wxControl {
 public:
-#ifdef __WXMSW__
     wxTreeCtrl(wxWindow *parent, wxWindowID id = -1,
                const wxPoint& pos = wxPyDefaultPosition,
                const wxSize& size = wxPyDefaultSize,
@@ -230,14 +225,6 @@ public:
                const wxValidator& validator = wxPyDefaultValidator,
                char* name = "wxTreeCtrl");
 
-#else
-    wxTreeCtrl(wxWindow *parent, wxWindowID id = -1,
-               const wxPoint& pos = wxPyDefaultPosition,
-               const wxSize& size = wxPyDefaultSize,
-               long style = wxTR_HAS_BUTTONS | wxTR_LINES_AT_ROOT,
-               //const wxValidator& validator = wxPyDefaultValidator,
-               char* name = "wxTreeCtrl");
-#endif
     %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
 
     size_t GetCount();
@@ -318,9 +305,7 @@ public:
 
     void SetItemBold(const wxTreeItemId& item, bool bold = TRUE);
     bool IsBold(const wxTreeItemId& item) const;
-#ifdef __WXMSW__
     wxTreeItemId HitTest(const wxPoint& point);
-#endif
 };
 
 
@@ -384,7 +369,11 @@ public:
 /////////////////////////////////////////////////////////////////////////////
 //
 // $Log$
+// Revision 1.13  1998/12/17 14:07:34  RR
+//   Removed minor differences between wxMSW and wxGTK
+//
 // Revision 1.12  1998/12/16 22:10:52  RD
+//
 // Tweaks needed to be able to build wxPython with wxGTK.
 //
 // Revision 1.11  1998/12/15 20:41:16  RD
index 659f3d9cffb7b93d850969d93b62d7119f0f672a..5d5efc3ba69253749304b944197ed4099f490413 100644 (file)
@@ -247,11 +247,9 @@ public:
     wxBitmap * GetStipple();
     int GetStyle();
     bool Ok();
-#ifdef __WXMSW__
     void SetColour(wxColour &colour);
     void SetStipple(wxBitmap& bitmap);
     void SetStyle(int style);
-#endif
 };
 
 //----------------------------------------------------------------------
@@ -290,30 +288,17 @@ public:
     void EndDrawing();
     void EndPage();
     void FloodFill(long x, long y, const wxColour& colour, int style=wxFLOOD_SURFACE);
-#ifdef __WXMSW__
     wxBrush&  GetBackground();
     wxBrush&  GetBrush();
-#else
-    wxBrush  GetBackground();
-    wxBrush  GetBrush();
-#endif
     long GetCharHeight();
     long GetCharWidth();
     void GetClippingBox(long *OUTPUT, long *OUTPUT,
                         long *OUTPUT, long *OUTPUT);
-#ifdef __WXMSW__
     wxFont& GetFont();
-#else
-    wxFont GetFont();
-#endif
     int GetLogicalFunction();
     int GetMapMode();
     bool GetOptimization();
-#ifdef __WXMSW__
     wxPen& GetPen();
-#else
-    wxPen GetPen();
-#endif
     %addmethods {
         %new wxColour* GetPixel(long x, long y) {
             wxColour* wc = new wxColour();
@@ -413,21 +398,17 @@ public:
 
 //---------------------------------------------------------------------------
 
-#ifdef __WXMSW__
 class wxWindowDC : public wxDC {
 public:
       wxWindowDC(wxWindow* win);
 };
-#endif
 
 //---------------------------------------------------------------------------
 
-#ifndef __WXMSW__
 class wxPostScriptDC : public wxDC {
 public:
       wxPostScriptDC(const wxString& output, bool interactive = TRUE, wxWindow* win = NULL);
 };
-#endif
 
 //---------------------------------------------------------------------------
 
@@ -522,7 +503,11 @@ public:
 /////////////////////////////////////////////////////////////////////////////
 //
 // $Log$
+// Revision 1.9  1998/12/17 14:07:37  RR
+//   Removed minor differences between wxMSW and wxGTK
+//
 // Revision 1.8  1998/12/16 22:10:54  RD
+//
 // Tweaks needed to be able to build wxPython with wxGTK.
 //
 // Revision 1.7  1998/12/15 20:41:18  RD
index 360162936994ea146208b19c9bdb5439e001d82b..834319f0376cc3531539120102437ffedaa859a2 100644 (file)
 #include <Python.h>
 #include "helpers.h"
 
-#ifdef __WXGTK__
-#ifdef wxUSE_GDK_IMLIB
-#include "gdk_imlib/gdk_imlib.h"
-#endif
-#endif
-
 //---------------------------------------------------------------------------
 
 //wxHashTable*  wxPyWindows = NULL;
@@ -140,12 +134,6 @@ void __wxPreStart()
     gtk_init( &argc, &argv );
     delete [] argv;
 
-#ifdef wxUSE_GDK_IMLIB
-    gdk_imlib_init();
-    gtk_widget_push_visual(gdk_imlib_get_visual());
-    gtk_widget_push_colormap(gdk_imlib_get_colormap());
-#endif
-
     wxApp::CommonInit();
 #endif
 
@@ -602,6 +590,9 @@ wxAcceleratorEntry* wxAcceleratorEntry_LIST_helper(PyObject* source) {
 /////////////////////////////////////////////////////////////////////////////
 //
 // $Log$
+// Revision 1.16  1998/12/17 14:07:39  RR
+//   Removed minor differences between wxMSW and wxGTK
+//
 // Revision 1.15  1998/12/15 20:41:19  RD
 // Changed the import semantics from "from wxPython import *" to "from
 // wxPython.wx import *"  This is for people who are worried about
index e68fccaf47d95fd9454fd44bb7a4a9750e9796ed..f28a74f802156e9c5cc470d5aafac5f81b1aae30 100644 (file)
@@ -139,17 +139,16 @@ public:
     wxToolBarTool* FindToolForPosition(const float x, const float y);
     wxSize GetToolSize();
     wxSize GetToolBitmapSize();
+    void SetToolBitmapSize(const wxSize& size);
 //    wxSize GetMargins();
     wxSize GetMaxSize();
 //    wxObject* GetToolClientData(int toolIndex);
 #endif
     bool GetToolEnabled(int toolIndex);
-#ifdef __WXMSW__
     wxString GetToolLongHelp(int toolIndex);
     int GetToolPacking();
     int GetToolSeparation();
     wxString GetToolShortHelp(int toolIndex);
-#endif
     bool GetToolState(int toolIndex);
 
     // TODO:  figure out how to handle these
@@ -157,17 +156,10 @@ public:
     //void OnMouseEnter(int toolIndex);
     //void OnRightClick(int toolIndex, float x, float y);
 
-
-#ifdef __WXMSW__
     bool Realize();
-#else
-    void Realize();
-#endif
-#ifdef __WXMSW__
-    void SetToolBitmapSize(const wxSize& size);
+    
     void SetToolLongHelp(int toolIndex, const wxString& helpString);
     void SetToolShortHelp(int toolIndex, const wxString& helpString);
-#endif
     void SetMargins(const wxSize& size);
     void SetToolPacking(int packing);
     void SetToolSeparation(int separation);
@@ -209,6 +201,9 @@ public:
 /////////////////////////////////////////////////////////////////////////////
 //
 // $Log$
+// Revision 1.4  1998/12/17 14:07:43  RR
+//   Removed minor differences between wxMSW and wxGTK
+//
 // Revision 1.3  1998/12/15 20:41:23  RD
 // Changed the import semantics from "from wxPython import *" to "from
 // wxPython.wx import *"  This is for people who are worried about
index 9b095fb0792f8b7ef85d12b27078b96d343b9a60..6946b45cd722620899967f732a8396eb190cc2c9 100644 (file)
 %{
 #include "helpers.h"
 
-#ifdef __WXMSW__
-    // wxGTK defines wxMenuItem inside menu.h
 #include <wx/menuitem.h>
-#endif
 
 #ifdef __WXMSW__
-#include <wx/minifram.h>
+#include <wx/minifram.h>  // needed ?
 #endif
 %}
 
@@ -87,28 +84,14 @@ public:
     int  GetCharHeight();
     int  GetCharWidth();
     %name(GetClientSizeTuple) void GetClientSize(int *OUTPUT, int *OUTPUT);
-#ifdef __WXMSW__
     wxSize GetClientSize();
-#else
-    %addmethods {
-        wxSize GetClientSize() {
-            int w, h;
-            self->GetClientSize(&w, &h);
-            return wxSize(w, h);
-        }
-    }
-#endif
     wxLayoutConstraints * GetConstraints();
 #ifdef __WXMSW__
     wxButton* GetDefaultItem();
 #endif
     //wxEvtHandler* GetEventHandler();
 
-#ifdef __WXMSW__
     wxFont& GetFont();
-#else
-    wxFont GetFont();
-#endif
     wxColour GetForegroundColour();
     wxWindow * GetGrandParent();
     int GetId();
@@ -116,18 +99,14 @@ public:
     wxString GetName();
     wxWindow * GetParent();
     %name(GetPositionTuple) void GetPosition(int *OUTPUT, int *OUTPUT);
-#ifdef __WXMSW__
     wxPoint GetPosition();
     wxRect GetRect();
-#endif
     int  GetReturnCode();
     int GetScrollThumb(int orientation);
     int GetScrollPos(int orientation);
     int GetScrollRange(int orientation);
     %name(GetSizeTuple) void GetSize(int *OUTPUT, int *OUTPUT);
-#ifdef __WXMSW__
     wxSize GetSize();
-#endif
     void GetTextExtent(const wxString& string, int *OUTPUT, int *OUTPUT); // int* descent = NULL, int* externalLeading = NULL, const wxFont* font = NULL, bool use16 = FALSE)
     wxString GetTitle();
     long GetWindowStyleFlag();
@@ -188,9 +167,7 @@ public:
     bool TransferDataFromWindow();
     bool TransferDataToWindow();
     bool Validate();
-#ifdef __WXMSW__
     void WarpPointer(int x, int y);
-#endif
 
     %name(ConvertDialogPointToPixels) wxPoint ConvertDialogToPixels(const wxPoint& pt);
     %name(ConvertDialogSizeToPixels)  wxSize  ConvertDialogToPixels(const wxSize& sz);
@@ -303,10 +280,8 @@ public:
     void Check(int id, bool flag);
     void Enable(int id, bool enable);
     int FindItem(const wxString& itemString);
-#ifdef __WXMSW__
     wxString GetTitle();
     void SetTitle(const wxString& title);
-#endif
     wxMenuItem* FindItemForId(int id);
     wxString GetHelpString(int id);
     wxString GetLabel(int id);
@@ -340,11 +315,8 @@ public:
     void Enable(int id, bool enable);
     bool Enabled(int id);
     int FindMenuItem(const wxString& menuString, const wxString& itemString);
-#ifdef __WXGTK__
-    %name(FindItemForId) wxMenuItem* FindMenuItemById( int id );
-#endif
-#ifdef __WXMSW__
     wxMenuItem * FindItemForId(int id);
+#ifdef __WXMSW__
     void EnableTop(int pos, bool enable);
     wxString GetHelpString(int id);
     wxString GetLabel(int id);
@@ -368,22 +340,27 @@ public:
     bool IsCheckable();
     int  GetId();
     wxMenu* GetSubMenu();
-#ifdef __WXMSW__
     void SetName(const wxString& strName);
-    void DeleteSubMenu();
     const wxString& GetName();
-#endif
     const wxString& GetHelp();
     void SetHelp(const wxString& strHelp);
     void Enable(bool bDoEnable = TRUE);
     void Check(bool bDoCheck = TRUE);
+    
+#ifdef __WXMSW__
+    void DeleteSubMenu();
+#endif
 };
 
 //---------------------------------------------------------------------------
 /////////////////////////////////////////////////////////////////////////////
 //
 // $Log$
+// Revision 1.9  1998/12/17 14:07:46  RR
+//   Removed minor differences between wxMSW and wxGTK
+//
 // Revision 1.8  1998/12/16 22:10:56  RD
+//
 // Tweaks needed to be able to build wxPython with wxGTK.
 //
 // Revision 1.7  1998/12/15 20:41:25  RD