]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkscrolledwindow.h
filechooser: Use _gtk_file_has_native_path() throughout when testing for local_only
[~andy/gtk] / gtk / gtkscrolledwindow.h
index de6b643191100828d8f808159836cd0a401c2a5e..52c291c0da509c7d9f746e35d637fe7cc8856dc2 100644 (file)
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  */
 
 /*
  * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GTK+ Team.  See the ChangeLog
  * files for a list of changes.  These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
  */
 
 #ifndef __GTK_SCROLLED_WINDOW_H__
 #define __GTK_SCROLLED_WINDOW_H__
 
+#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
+#error "Only <gtk/gtk.h> can be included directly."
+#endif
 
-#include <gdk/gdk.h>
-#include <gtk/gtkhscrollbar.h>
-#include <gtk/gtkvscrollbar.h>
-#include <gtk/gtkviewport.h>
-
+#include <gtk/gtkbin.h>
 
 G_BEGIN_DECLS
 
@@ -45,33 +42,21 @@ G_BEGIN_DECLS
 #define GTK_SCROLLED_WINDOW_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SCROLLED_WINDOW, GtkScrolledWindowClass))
 
 
-
-typedef struct _GtkScrolledWindow       GtkScrolledWindow;
-typedef struct _GtkScrolledWindowClass  GtkScrolledWindowClass;
+typedef struct _GtkScrolledWindow              GtkScrolledWindow;
+typedef struct _GtkScrolledWindowPrivate       GtkScrolledWindowPrivate;
+typedef struct _GtkScrolledWindowClass         GtkScrolledWindowClass;
 
 struct _GtkScrolledWindow
 {
   GtkBin container;
 
-  /*< public >*/
-  GtkWidget *hscrollbar;
-  GtkWidget *vscrollbar;
-
-  /*< private >*/
-  guint hscrollbar_policy      : 2;
-  guint vscrollbar_policy      : 2;
-  guint hscrollbar_visible     : 1;
-  guint vscrollbar_visible     : 1;
-  guint window_placement       : 2;
-  guint focus_out              : 1;    /* Flag used by ::move-focus-out implementation */
-
-  guint16 shadow_type;
+  GtkScrolledWindowPrivate *priv;
 };
 
 struct _GtkScrolledWindowClass
 {
   GtkBinClass parent_class;
-  
+
   gint scrollbar_spacing;
 
   /* Action signals for keybindings. Do not connect to these signals
@@ -81,9 +66,9 @@ struct _GtkScrolledWindowClass
    * no horizontal/vertical variants for GTK_SCROLL_START/END,
    * so we have to add an additional boolean flag.
    */
-  void (*scroll_child) (GtkScrolledWindow *scrolled_window,
-                       GtkScrollType      scroll,
-                       gboolean           horizontal);
+  gboolean (*scroll_child) (GtkScrolledWindow *scrolled_window,
+                           GtkScrollType      scroll,
+                           gboolean           horizontal);
 
   void (* move_focus_out) (GtkScrolledWindow *scrolled_window,
                           GtkDirectionType   direction);
@@ -115,13 +100,34 @@ void           gtk_scrolled_window_get_policy        (GtkScrolledWindow *scrolle
                                                      GtkPolicyType     *vscrollbar_policy);
 void           gtk_scrolled_window_set_placement     (GtkScrolledWindow *scrolled_window,
                                                      GtkCornerType      window_placement);
+void           gtk_scrolled_window_unset_placement   (GtkScrolledWindow *scrolled_window);
+
 GtkCornerType  gtk_scrolled_window_get_placement     (GtkScrolledWindow *scrolled_window);
 void           gtk_scrolled_window_set_shadow_type   (GtkScrolledWindow *scrolled_window,
                                                      GtkShadowType      type);
 GtkShadowType  gtk_scrolled_window_get_shadow_type   (GtkScrolledWindow *scrolled_window);
+GDK_DEPRECATED_IN_3_8_FOR(gtk_container_add)
 void          gtk_scrolled_window_add_with_viewport (GtkScrolledWindow *scrolled_window,
                                                      GtkWidget         *child);
 
+gint           gtk_scrolled_window_get_min_content_width  (GtkScrolledWindow *scrolled_window);
+void           gtk_scrolled_window_set_min_content_width  (GtkScrolledWindow *scrolled_window,
+                                                           gint               width);
+gint           gtk_scrolled_window_get_min_content_height (GtkScrolledWindow *scrolled_window);
+void           gtk_scrolled_window_set_min_content_height (GtkScrolledWindow *scrolled_window,
+                                                           gint               height);
+GDK_AVAILABLE_IN_3_4
+void           gtk_scrolled_window_set_kinetic_scrolling  (GtkScrolledWindow        *scrolled_window,
+                                                           gboolean                  kinetic_scrolling);
+GDK_AVAILABLE_IN_3_4
+gboolean       gtk_scrolled_window_get_kinetic_scrolling  (GtkScrolledWindow        *scrolled_window);
+
+GDK_AVAILABLE_IN_3_4
+void           gtk_scrolled_window_set_capture_button_press (GtkScrolledWindow      *scrolled_window,
+                                                             gboolean                capture_button_press);
+GDK_AVAILABLE_IN_3_4
+gboolean       gtk_scrolled_window_get_capture_button_press (GtkScrolledWindow      *scrolled_window);
+
 gint _gtk_scrolled_window_get_scrollbar_spacing (GtkScrolledWindow *scrolled_window);