]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/x11/window.h
move misc surface helpers to wxIDirectFBSurface class
[wxWidgets.git] / include / wx / x11 / window.h
index 9e7c63727f79f7b3cd1edec68441197dd1132e0e..5556bd97f727811650653c666ac395c00293c384 100644 (file)
@@ -1,35 +1,31 @@
 /////////////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////////
-// Name:        window.h
+// Name:        wx/x11/window.h
 // Purpose:     wxWindow class
 // Author:      Julian Smart
 // Modified by:
 // Created:     17/09/98
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart
 // Purpose:     wxWindow class
 // Author:      Julian Smart
 // Modified by:
 // Created:     17/09/98
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart
-// Licence:     wxWidgets licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_WINDOW_H_
 #define _WX_WINDOW_H_
 
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_WINDOW_H_
 #define _WX_WINDOW_H_
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma interface "window.h"
-#endif
-
 #include "wx/region.h"
 
 // ----------------------------------------------------------------------------
 // wxWindow class for Motif - see also wxWindowBase
 // ----------------------------------------------------------------------------
 
 #include "wx/region.h"
 
 // ----------------------------------------------------------------------------
 // wxWindow class for Motif - see also wxWindowBase
 // ----------------------------------------------------------------------------
 
-class wxWindowX11 : public wxWindowBase
+class WXDLLIMPEXP_CORE wxWindowX11 : public wxWindowBase
 {
     friend class WXDLLEXPORT wxDC;
     friend class WXDLLEXPORT wxWindowDC;
 {
     friend class WXDLLEXPORT wxDC;
     friend class WXDLLEXPORT wxWindowDC;
-    
+
 public:
     wxWindowX11() { Init(); }
 public:
     wxWindowX11() { Init(); }
-    
+
     wxWindowX11(wxWindow *parent,
         wxWindowID id,
         const wxPoint& pos = wxDefaultPosition,
     wxWindowX11(wxWindow *parent,
         wxWindowID id,
         const wxPoint& pos = wxDefaultPosition,
@@ -40,36 +36,39 @@ public:
         Init();
         Create(parent, id, pos, size, style, name);
     }
         Init();
         Create(parent, id, pos, size, style, name);
     }
-    
+
     virtual ~wxWindowX11();
     virtual ~wxWindowX11();
-    
+
     bool Create(wxWindow *parent,
         wxWindowID id,
         const wxPoint& pos = wxDefaultPosition,
         const wxSize& size = wxDefaultSize,
         long style = 0,
         const wxString& name = wxPanelNameStr);
     bool Create(wxWindow *parent,
         wxWindowID id,
         const wxPoint& pos = wxDefaultPosition,
         const wxSize& size = wxDefaultSize,
         long style = 0,
         const wxString& name = wxPanelNameStr);
-    
+
     virtual void Raise();
     virtual void Lower();
     virtual void Raise();
     virtual void Lower();
-    
-    virtual bool Show( bool show = TRUE );
-    virtual bool Enable( bool enable = TRUE );
-    
+
+    virtual void SetLabel(const wxString& label);
+    virtual wxString GetLabel() const;
+
+    virtual bool Show( bool show = true );
+    virtual bool Enable( bool enable = true );
+
     virtual void SetFocus();
     virtual void SetFocus();
-    
+
     virtual void WarpPointer(int x, int y);
     virtual void WarpPointer(int x, int y);
-    
-    virtual void Refresh( bool eraseBackground = TRUE,
-        const wxRect *rect = (const wxRect *) NULL );
+
+    virtual void Refresh( bool eraseBackground = true,
+                          const wxRect *rect = (const wxRect *) NULL );
     virtual void Update();
     virtual void Update();
-    
+
     virtual bool SetBackgroundColour( const wxColour &colour );
     virtual bool SetForegroundColour( const wxColour &colour );
     virtual bool SetBackgroundColour( const wxColour &colour );
     virtual bool SetForegroundColour( const wxColour &colour );
-    
+
     virtual bool SetCursor( const wxCursor &cursor );
     virtual bool SetFont( const wxFont &font );
     virtual bool SetCursor( const wxCursor &cursor );
     virtual bool SetFont( const wxFont &font );
-    
+
     virtual int GetCharHeight() const;
     virtual int GetCharWidth() const;
     virtual void GetTextExtent(const wxString& string,
     virtual int GetCharHeight() const;
     virtual int GetCharWidth() const;
     virtual void GetTextExtent(const wxString& string,
@@ -78,98 +77,91 @@ public:
         int *externalLeading = (int *) NULL,
         const wxFont *theFont = (const wxFont *) NULL)
         const;
         int *externalLeading = (int *) NULL,
         const wxFont *theFont = (const wxFont *) NULL)
         const;
-    
+
     virtual void ScrollWindow( int dx, int dy,
         const wxRect* rect = (wxRect *) NULL );
     virtual void ScrollWindow( int dx, int dy,
         const wxRect* rect = (wxRect *) NULL );
-    
-    virtual void SetSizeHints(int minW, int minH,
-        int maxW = -1, int maxH = -1,
-        int incW = -1, int incH = -1);
-    void SetSizeHints( const wxSize& minSize,
-                       const wxSize& maxSize=wxDefaultSize,
-                       const wxSize& incSize=wxDefaultSize)
-        { wxWindowBase::SetSizeHints(minSize, maxSize, incSize); }
+
+    virtual void DoSetSizeHints(int minW, int minH,
+        int maxW = wxDefaultCoord, int maxH = wxDefaultCoord,
+        int incW = wxDefaultCoord, int incH = wxDefaultCoord);
+
 #if wxUSE_DRAG_AND_DROP
     virtual void SetDropTarget( wxDropTarget *dropTarget );
 #endif // wxUSE_DRAG_AND_DROP
 #if wxUSE_DRAG_AND_DROP
     virtual void SetDropTarget( wxDropTarget *dropTarget );
 #endif // wxUSE_DRAG_AND_DROP
-    
+
     // Accept files for dragging
     virtual void DragAcceptFiles(bool accept);
     // Accept files for dragging
     virtual void DragAcceptFiles(bool accept);
-    
+
     // Get the unique identifier of a window
     virtual WXWindow GetHandle() const { return GetMainWindow(); }
     // Get the unique identifier of a window
     virtual WXWindow GetHandle() const { return GetMainWindow(); }
-    
+
     // implementation from now on
     // --------------------------
     // implementation from now on
     // --------------------------
-    
+
     // accessors
     // ---------
     // accessors
     // ---------
-    
+
     // Get main X11 window
     virtual WXWindow GetMainWindow() const;
     // Get main X11 window
     virtual WXWindow GetMainWindow() const;
-    
+
     // Get X11 window representing the client area
     virtual WXWindow GetClientAreaWindow() const;
 
     void SetLastClick(int button, long timestamp)
         { m_lastButton = button; m_lastTS = timestamp; }
     // Get X11 window representing the client area
     virtual WXWindow GetClientAreaWindow() const;
 
     void SetLastClick(int button, long timestamp)
         { m_lastButton = button; m_lastTS = timestamp; }
-    
+
     int GetLastClickedButton() const { return m_lastButton; }
     long GetLastClickTime() const { return m_lastTS; }
     int GetLastClickedButton() const { return m_lastButton; }
     long GetLastClickTime() const { return m_lastTS; }
-    
+
     // Gives window a chance to do something in response to a size message, e.g.
     // arrange status bar, toolbar etc.
     virtual bool PreResize();
     // Gives window a chance to do something in response to a size message, e.g.
     // arrange status bar, toolbar etc.
     virtual bool PreResize();
-    
+
     // Generates paint events from m_updateRegion
     void SendPaintEvents();
     // Generates paint events from m_updateRegion
     void SendPaintEvents();
-    
+
     // Generates paint events from flag
     void SendNcPaintEvents();
     // Generates paint events from flag
     void SendNcPaintEvents();
-    
+
     // Generates erase events from m_clearRegion
     void SendEraseEvents();
     // Generates erase events from m_clearRegion
     void SendEraseEvents();
-    
+
     // Clip to paint region?
     bool GetClipPaintRegion() { return m_clipPaintRegion; }
     // Clip to paint region?
     bool GetClipPaintRegion() { return m_clipPaintRegion; }
-    
+
     // Return clear region
     wxRegion &GetClearRegion() { return m_clearRegion; }
     // Return clear region
     wxRegion &GetClearRegion() { return m_clearRegion; }
-    
-    void NeedUpdateNcAreaInIdle( bool update = TRUE ) { m_updateNcArea = update; }
-    
+
+    void NeedUpdateNcAreaInIdle( bool update = true ) { m_updateNcArea = update; }
+
     // Inserting into main window instead of client
     // window. This is mostly for a wxWindow's own
     // scrollbars.
     // Inserting into main window instead of client
     // window. This is mostly for a wxWindow's own
     // scrollbars.
-    void SetInsertIntoMain( bool insert = TRUE ) { m_insertIntoMain = insert; }
+    void SetInsertIntoMain( bool insert = true ) { m_insertIntoMain = insert; }
     bool GetInsertIntoMain() { return m_insertIntoMain; }
     bool GetInsertIntoMain() { return m_insertIntoMain; }
-    
+
     // sets the fore/background colour for the given widget
     static void DoChangeForegroundColour(WXWindow widget, wxColour& foregroundColour);
     // sets the fore/background colour for the given widget
     static void DoChangeForegroundColour(WXWindow widget, wxColour& foregroundColour);
-    static void DoChangeBackgroundColour(WXWindow widget, wxColour& backgroundColour, bool changeArmColour = FALSE);
-    
-    // For implementation purposes - sometimes decorations make the client area
-    // smaller
-    virtual wxPoint GetClientAreaOrigin() const;
-    
+    static void DoChangeBackgroundColour(WXWindow widget, wxColour& backgroundColour, bool changeArmColour = false);
+
     // I don't want users to override what's done in idle so everything that
     // has to be done in idle time in order for wxX11 to work is done in
     // OnInternalIdle
     virtual void OnInternalIdle();
     // I don't want users to override what's done in idle so everything that
     // has to be done in idle time in order for wxX11 to work is done in
     // OnInternalIdle
     virtual void OnInternalIdle();
-    
+
 protected:
     // Responds to colour changes: passes event on to children.
     void OnSysColourChanged(wxSysColourChangedEvent& event);
 protected:
     // Responds to colour changes: passes event on to children.
     void OnSysColourChanged(wxSysColourChangedEvent& event);
-    
+
     // For double-click detection
     long   m_lastTS;         // last timestamp
     int    m_lastButton;     // last pressed button
     // For double-click detection
     long   m_lastTS;         // last timestamp
     int    m_lastButton;     // last pressed button
-    
+
 protected:
     WXWindow              m_mainWindow;
     WXWindow              m_clientWindow;
     bool                  m_insertIntoMain;
 protected:
     WXWindow              m_mainWindow;
     WXWindow              m_clientWindow;
     bool                  m_insertIntoMain;
-    
+
     bool                  m_winCaptured;
     wxRegion              m_clearRegion;
     bool                  m_clipPaintRegion;
     bool                  m_winCaptured;
     wxRegion              m_clearRegion;
     bool                  m_clipPaintRegion;
@@ -193,11 +185,11 @@ protected:
 #if wxUSE_TOOLTIPS
     virtual void DoSetToolTip( wxToolTip *tip );
 #endif // wxUSE_TOOLTIPS
 #if wxUSE_TOOLTIPS
     virtual void DoSetToolTip( wxToolTip *tip );
 #endif // wxUSE_TOOLTIPS
-    
+
 private:
     // common part of all ctors
     void Init();
 private:
     // common part of all ctors
     void Init();
-    
+
     DECLARE_DYNAMIC_CLASS(wxWindowX11)
     DECLARE_NO_COPY_CLASS(wxWindowX11)
     DECLARE_EVENT_TABLE()
     DECLARE_DYNAMIC_CLASS(wxWindowX11)
     DECLARE_NO_COPY_CLASS(wxWindowX11)
     DECLARE_EVENT_TABLE()
@@ -219,12 +211,11 @@ class WXDLLEXPORT wxNoOptimize
 public:
     wxNoOptimize() { ms_count++; }
     ~wxNoOptimize() { ms_count--; }
 public:
     wxNoOptimize() { ms_count++; }
     ~wxNoOptimize() { ms_count--; }
-    
+
     static bool CanOptimize() { return ms_count == 0; }
     static bool CanOptimize() { return ms_count == 0; }
-    
+
 protected:
     static int ms_count;
 };
 
 protected:
     static int ms_count;
 };
 
-#endif
-// _WX_WINDOW_H_
+#endif // _WX_WINDOW_H_