// Dialog support: override these and call
// base class members to add functionality
// that can't be done using validators.
+ void SetClientSize( int width, int height )
+ { DoSetClientSize(width, height); }
+
+ void SetClientSize( const wxSize& size )
+ { DoSetClientSize(size.x, size.y); }
+
+ void SetClientSize(const wxRect& rect)
+ { SetClientSize( rect.width, rect.height ); }
// Validate controls. If returns FALSE,
// validation failed: don't quit
// title; for items, this is the label or button text.
inline virtual wxString GetLabel() const { return GetTitle(); }
-
+#if wxUSE_CARET && WXWIN_COMPATIBILITY
// Caret manipulation
virtual void CreateCaret(int w, int h);
virtual void CreateCaret(const wxBitmap *bitmap);
virtual void ShowCaret(bool show);
virtual void SetCaretPos(int x, int y);
virtual void GetCaretPos(int *x, int *y) const;
-
+#endif
// Handle a control command
virtual void OnCommand(wxWindow& win, wxCommandEvent& event);
// on a listbox)
virtual void OnDefaultAction(wxControl *initiatingItem);
+ // EventHandlers
void OnEraseBackground(wxEraseEvent& event);
void OnChar(wxKeyEvent& event);
void OnKeyDown(wxKeyEvent& event);
void OnPaint(wxPaintEvent& event);
void OnIdle(wxIdleEvent& event);
+ // Accessors
+
+ WXHWND GetHWND() const { return m_hWnd; }
+ void SetHWND(WXHWND hWnd) { m_hWnd = hWnd; }
+ virtual WXWidget GetHandle() const { return GetHWND(); }
public:
// ---------------------------------------------------------------------------
// a toolbar that it manages itself).
virtual void AdjustForParentClientOrigin(int& x, int& y, int sizeFlags);
+ // Windows subclassing
+ void SubclassWin(WXHWND hWnd);
+ void UnsubclassWin();
+
+ WXFARPROC OS2GetOldWndProc() const { return m_oldWndProc; }
+ void OS2SetOldWndProc(WXFARPROC proc) { m_oldWndProc = proc; }
+
+ wxWindow *FindItem(long id) const;
+ wxWindow *FindItemByHWND(WXHWND hWnd, bool controlOnly = FALSE) const;
+
+ // Determine whether 3D effects are wanted
+ WXDWORD Determine3DEffects(WXDWORD defaultBorderStyle, bool *want3D) const;
+
+ // PM only: TRUE if this control is part of the main control
+ virtual bool ContainsHWND(WXHWND WXUNUSED(hWnd)) const { return FALSE; };
+
// Executes the default message
virtual long Default();
-/* TODO: you may need something like this
- // Determine whether 3D effects are wanted
- virtual WXDWORD Determine3DEffects(WXDWORD defaultBorderStyle, bool *want3D);
-*/
-
// Constraint implementation
void UnsetConstraints(wxLayoutConstraints *c);
// Back-pointer to other windows we're involved with, so if we delete
wxButton * m_defaultItem;
public:
+ WXFARPROC m_oldWndProc;
int m_returnCode;
+ bool m_isBeingDeleted;
+ bool m_isShown;
+ bool m_winCaptured;
+ bool m_mouseInWindow;
+ bool m_backgroundTransparent;
+ // handles
+ WXHWND m_hWnd;
+ WXHMENU m_hMenu; // Menu, if any
+
+ // the size of one page for scrolling
+ int m_xThumbSize;
+ int m_yThumbSize;
+ long m_lDlgCode;
DECLARE_EVENT_TABLE()
private:
- void Init();
+ void Init();
+ void PMDetachWindowMenu();
};
////////////////////////////////////////////////////////////////////////