]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/os2/combobox.h
Fix memory leak by letting the base class version handle the
[wxWidgets.git] / include / wx / os2 / combobox.h
index 1b8b532805d32f324652253d81dfd2ebd0d99f51..25f9e37db7498747d58098ccbcc6aa333f986bc9 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     10/13/99
 // RCS-ID:      $Id$
 // Copyright:   (c) David Webster
-// Licence:     wxWindows licence
+// Licence:     wxWidgets licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_COMBOBOX_H_
 
 #if wxUSE_COMBOBOX
 
-WXDLLEXPORT_DATA(extern const char*) wxComboBoxNameStr;
-WXDLLEXPORT_DATA(extern const char*) wxEmptyString;
-
 // Combobox item
-class WXDLLEXPORT wxComboBox: public wxChoice
+class WXDLLEXPORT wxComboBox : public wxChoice
 {
-  DECLARE_DYNAMIC_CLASS(wxComboBox)
 
  public:
   inline wxComboBox() {}
 
-  inline wxComboBox(wxWindow *parent, wxWindowID id,
-           const wxString& value = wxEmptyString,
-           const wxPoint& pos = wxDefaultPosition,
-           const wxSize& size = wxDefaultSize,
-           int n = 0, const wxString choices[] = NULL,
-           long style = 0,
-#if wxUSE_VALIDATORS
-           const wxValidator& validator = wxDefaultValidator,
-#endif
-           const wxString& name = wxComboBoxNameStr)
-  {
-    Create(parent, id, value, pos, size, n, choices, style, validator, name);
-  }
+  inline wxComboBox( wxWindow*          pParent
+                    ,wxWindowID         vId
+                    ,const wxString&    rsValue = wxEmptyString
+                    ,const wxPoint&     rPos = wxDefaultPosition
+                    ,const wxSize&      rSize = wxDefaultSize
+                    ,int                n = 0
+                    ,const wxString     asChoices[] = NULL
+                    ,long               lStyle = 0
+                    ,const wxValidator& rValidator = wxDefaultValidator
+                    ,const wxString&    rsName = wxComboBoxNameStr
+                   )
+    {
+        Create( pParent
+               ,vId
+               ,rsValue
+               ,rPos
+               ,rSize
+               ,n
+               ,asChoices
+               ,lStyle
+               ,rValidator
+               ,rsName
+              );
+    }
 
-  bool Create(wxWindow *parent, wxWindowID id,
-           const wxString& value = wxEmptyString,
-           const wxPoint& pos = wxDefaultPosition,
-           const wxSize& size = wxDefaultSize,
-           int n = 0, const wxString choices[] = NULL,
-           long style = 0,
-#if wxUSE_VALIDATORS
-           const wxValidator& validator = wxDefaultValidator,
-#endif
-           const wxString& name = wxComboBoxNameStr);
+  inline wxComboBox( wxWindow*            pParent
+                    ,wxWindowID           vId
+                    ,const wxString&      rsValue
+                    ,const wxPoint&       rPos
+                    ,const wxSize&        rSize
+                    ,const wxArrayString& asChoices
+                    ,long                 lStyle = 0
+                    ,const wxValidator&   rValidator = wxDefaultValidator
+                    ,const wxString&      rsName = wxComboBoxNameStr
+                   )
+    {
+        Create( pParent
+               ,vId
+               ,rsValue
+               ,rPos
+               ,rSize
+               ,asChoices
+               ,lStyle
+               ,rValidator
+               ,rsName
+              );
+    }
 
-    // List functions: see wxChoice
+    bool Create( wxWindow*          pParent
+                ,wxWindowID         vId
+                ,const wxString&    rsValue = wxEmptyString
+                ,const wxPoint&     rPos = wxDefaultPosition
+                ,const wxSize&      rSize = wxDefaultSize
+                ,int                n = 0
+                ,const wxString     asChoices[] = NULL
+                ,long               lStyle = 0
+                ,const wxValidator& rValidator = wxDefaultValidator
+                ,const wxString&    rsName = wxComboBoxNameStr
+               );
 
-    wxString GetValue() const { return GetLabel(); }
-    virtual void SetValue(const wxString& value);
+    bool Create( wxWindow*            pParent
+                ,wxWindowID           vId
+                ,const wxString&      rsValue
+                ,const wxPoint&       rPos
+                ,const wxSize&        rSize
+                ,const wxArrayString& asChoices
+                ,long                 lStyle = 0
+                ,const wxValidator&   rValidator = wxDefaultValidator
+                ,const wxString&      rsName = wxComboBoxNameStr
+               );
 
+    //
+    // List functions: see wxChoice
+    //
+    inline wxString GetValue(void) const { return GetLabel(); }
+    virtual void    SetValue(const wxString& rsValue);
+
+    //
     // Clipboard operations
+    //
     virtual void Copy();
     virtual void Cut();
     virtual void Paste();
-    virtual void SetInsertionPoint(long pos);
-    virtual void SetInsertionPointEnd();
-    virtual long GetInsertionPoint() const;
-    virtual long GetLastPosition() const;
-    virtual void Replace(long from, long to, const wxString& value);
-    virtual void Remove(long from, long to);
-    virtual void SetSelection(int n) { wxChoice::SetSelection(n); }
-    virtual void SetSelection(long from, long to);
-    virtual void SetEditable(bool editable);
 
-    virtual bool OS2Command(WXUINT param, WXWORD id);
+    virtual void        SetInsertionPoint(long lPos);
+    virtual void        SetInsertionPointEnd(void);
+    virtual long        GetInsertionPoint(void) const;
+    virtual long        GetLastPosition(void) const;
+    virtual void        Replace( long            lFrom
+                                ,long            lTo
+                                ,const wxString& rsValue
+                               );
+    virtual void        Remove( long lFrom
+                               ,long lTo
+                              );
+    inline virtual void SetSelection(int n) { wxChoice::SetSelection(n); }
+    virtual void        SetSelection( long lFrom
+                                     ,long lTo
+                                    );
+    virtual void        SetEditable(bool bEditable);
+
+    virtual bool        OS2Command( WXUINT uParam
+                                   ,WXWORD wId
+                                  );
+    bool                ProcessEditMsg( WXUINT   uMsg
+                                       ,WXWPARAM wParam
+                                       ,WXLPARAM lParam
+                                      );
 
 protected:
-    virtual void DoSetSize(int x, int y,
-                           int width, int height,
-                           int sizeFlags = wxSIZE_AUTO);
-};
+    virtual void        DoSetSize( int nX
+                                  ,int nY
+                                  ,int nWidth
+                                  ,int nHeight
+                                  ,int nSizeFlags = wxSIZE_AUTO
+                                 );
+private:
+    DECLARE_DYNAMIC_CLASS(wxComboBox)
+}; // end of CLASS wxComboBox
 
 #endif // wxUSE_COMBOBOX
 #endif