OLD | NEW |
| (Empty) |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef UI_BASE_GTK_GTK_EXPANDED_CONTAINER_H_ | |
6 #define UI_BASE_GTK_GTK_EXPANDED_CONTAINER_H_ | |
7 | |
8 #include <gdk/gdk.h> | |
9 #include <gtk/gtk.h> | |
10 | |
11 #include "ui/base/ui_base_export.h" | |
12 | |
13 // A specialized container derived from GtkFixed, which expands the size of its | |
14 // children to fill the container, in one or both directions. The usage of this | |
15 // container is similar to GtkFixed. | |
16 // | |
17 // The "child-size-request" signal is optional, if you want to expand child | |
18 // widgets to customized size other than the container's size. It should have | |
19 // the following signature: | |
20 // | |
21 // void (*child_size_request)(GtkExpandedContainer* container, | |
22 // GtkWidget* child, | |
23 // GtkRequisition* requisition); | |
24 // | |
25 // This signal is emitted for each child with the requisition set to the size of | |
26 // the container. Your handler may adjust the value of the requisition. If the | |
27 // width or height is set to -1, then that direction will not be expanded, and | |
28 // the original size request of the child will be used. | |
29 | |
30 G_BEGIN_DECLS | |
31 | |
32 #define GTK_TYPE_EXPANDED_CONTAINER \ | |
33 (gtk_expanded_container_get_type()) | |
34 #define GTK_EXPANDED_CONTAINER(obj) \ | |
35 (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_EXPANDED_CONTAINER, \ | |
36 GtkExpandedContainer)) | |
37 #define GTK_EXPANDED_CONTAINER_CLASS(klass) \ | |
38 (G_TYPE_CHECK_CLASS_CAST((klass), GTK_TYPE_EXPANDED_CONTAINER, \ | |
39 GtkExpandedContainerClass)) | |
40 #define GTK_IS_EXPANDED_CONTAINER(obj) \ | |
41 (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_EXPANDED_CONTAINER)) | |
42 #define GTK_IS_EXPANDED_CONTAINER_CLASS(klass) \ | |
43 (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_TYPE_EXPANDED_CONTAINER)) | |
44 #define GTK_EXPANDED_CONTAINER_GET_CLASS(obj) \ | |
45 (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_EXPANDED_CONTAINER, \ | |
46 GtkExpandedContainerClass)) | |
47 | |
48 typedef struct _GtkExpandedContainer GtkExpandedContainer; | |
49 typedef struct _GtkExpandedContainerClass GtkExpandedContainerClass; | |
50 | |
51 struct _GtkExpandedContainer { | |
52 // Parent class. | |
53 GtkFixed fixed; | |
54 }; | |
55 | |
56 struct _GtkExpandedContainerClass { | |
57 GtkFixedClass parent_class; | |
58 }; | |
59 | |
60 UI_BASE_EXPORT GType gtk_expanded_container_get_type() G_GNUC_CONST; | |
61 UI_BASE_EXPORT GtkWidget* gtk_expanded_container_new(); | |
62 UI_BASE_EXPORT void gtk_expanded_container_put(GtkExpandedContainer* container, | |
63 GtkWidget* widget, | |
64 gint x, | |
65 gint y); | |
66 UI_BASE_EXPORT void gtk_expanded_container_move(GtkExpandedContainer* container, | |
67 GtkWidget* widget, | |
68 gint x, | |
69 gint y); | |
70 UI_BASE_EXPORT void gtk_expanded_container_set_has_window( | |
71 GtkExpandedContainer* container, | |
72 gboolean has_window); | |
73 UI_BASE_EXPORT gboolean gtk_expanded_container_get_has_window( | |
74 GtkExpandedContainer* container); | |
75 | |
76 G_END_DECLS | |
77 | |
78 #endif // UI_BASE_GTK_GTK_EXPANDED_CONTAINER_H_ | |
OLD | NEW |