]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/window.h
added SetSelectionToPage/Window() to simplify code and fix more problems with passing...
[wxWidgets.git] / include / wx / gtk / window.h
index fa4e459279c096236e4a34e0c3f7a04ca7b3e535..82b9f99d8cc8f1b6728c8cb89a46a5eb5b4552cf 100644 (file)
@@ -61,14 +61,13 @@ public:
     virtual void Lower();
 
     virtual bool Show( bool show = true );
-    virtual bool Enable( bool enable = true );
+    virtual void DoEnable( bool enable );
 
     virtual void SetWindowStyleFlag( long style );
 
     virtual bool IsRetained() const;
 
     virtual void SetFocus();
-    virtual bool AcceptsFocus() const;
 
     virtual bool Reparent( wxWindowBase *newParent );
 
@@ -113,8 +112,18 @@ public:
     virtual void AddChild( wxWindowBase *child );
     virtual void RemoveChild( wxWindowBase *child );
 
+    virtual void SetLayoutDirection(wxLayoutDirection dir);
+    virtual wxLayoutDirection GetLayoutDirection() const;
+    virtual wxCoord AdjustForLayoutDirection(wxCoord x,
+                                             wxCoord width,
+                                             wxCoord widthTotal) const;
+
+    virtual bool DoIsExposed( int x, int y ) const;
+    virtual bool DoIsExposed( int x, int y, int w, int h ) const;
+
     // currently wxGTK2-only
     void SetDoubleBuffered(bool on);
+    virtual bool IsDoubleBuffered() const;
 
     // implementation
     // --------------
@@ -131,11 +140,6 @@ public:
     // For compatibility across platforms (not in event table)
     void OnIdle(wxIdleEvent& WXUNUSED(event)) {}
 
-    // wxGTK-specific: called recursively by Enable,
-    // to give widgets an opportunity to correct their colours after they
-    // have been changed by Enable
-    virtual void OnParentEnable( bool WXUNUSED(enable) ) {}
-
     // Used by all window classes in the widget creation process.
     bool PreCreation( wxWindowGTK *parent, const wxPoint &pos, const wxSize &size );
     void PostCreation();
@@ -166,9 +170,19 @@ public:
     // anything else. If it returns -1, the handler should continue as usual
     int GTKCallbackCommonPrologue(struct _GdkEventAny *event) const;
 
+    // override this if some events should never be consumed by wxWidgets but
+    // but have to be left for the native control
+    //
+    // base version just does GetEventHandler()->ProcessEvent()
+    virtual bool GTKProcessEvent(wxEvent& event) const;
+
+    // Map GTK widget direction of the given widget to/from wxLayoutDirection
+    static wxLayoutDirection GTKGetLayout(GtkWidget *widget);
+    static void GTKSetLayout(GtkWidget *widget, wxLayoutDirection dir);
+
 protected:
     // Override GTKWidgetNeedsMnemonic and return true if your
-    // needs to set its mnemonic widget, such as for a 
+    // needs to set its mnemonic widget, such as for a
     // GtkLabel for wxStaticText, then do the actual
     // setting of the widget inside GTKWidgetDoSetMnemonic
     virtual bool GTKWidgetNeedsMnemonic() const;
@@ -204,13 +218,13 @@ public:
     // the layouting functions have to be called later on
     // (i.e. in idle time, implemented in OnInternalIdle() ).
     void GtkUpdateSize() { m_sizeSet = false; }
-    
-    
+
+
     // Called when a window should delay showing itself
     // until idle time. This partly mimmicks defered
     // sizing under MSW.
     void GtkShowOnIdle() { m_showOnIdle = true; }
-    
+
     // This is called from the various OnInternalIdle methods
     bool GtkShowFromOnIdle();
 
@@ -284,17 +298,17 @@ public:
     bool                 m_hasVMT:1;
     bool                 m_sizeSet:1;
     bool                 m_resizing:1;
-    bool                 m_acceptsFocus:1;      // true if not static
     bool                 m_hasFocus:1;          // true if == FindFocus()
     bool                 m_isScrolling:1;       // dragging scrollbar thumb?
     bool                 m_clipPaintRegion:1;   // true after ScrollWindow()
+    wxRegion             m_nativeUpdateRegion;  // not transformed for RTL
     bool                 m_dirtyTabOrder:1;     // tab order changed, GTK focus
                                                 // chain needs update
     bool                 m_needsStyleChange:1;  // May not be able to change
                                                 // background style until OnIdle
     bool                 m_mouseButtonDown:1;
     bool                 m_blockScrollEvent:1;
-    
+
     bool                 m_showOnIdle:1;        // postpone showing the window until idle
 
     // C++ has no virtual methods in the constrcutor of any class but we need
@@ -330,6 +344,8 @@ protected:
     void Init();
 
     virtual void DoMoveInTabOrder(wxWindow *win, MoveKind move);
+    virtual bool DoNavigateIn(int flags);
+
 
     // Copies m_children tab order to GTK focus chain:
     void RealizeTabOrder();
@@ -353,7 +369,7 @@ protected:
 
     // set the current cursor for all GdkWindows making part of this widget
     // (see GTKGetWindow)
-public:
+    //
     // should be called from OnInternalIdle() if it's overridden
     void GTKUpdateCursor();