]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkcombobox.h
a11y: Emit text-changed signals when the text-buffer changes
[~andy/gtk] / gtk / gtkcombobox.h
index cbe40f9ca5e5682b18da9b44557e6f3cbee03423..03d25ff3d03492b80fee407516ad51d5cbda671d 100644 (file)
  * Library General Public License for more details.
  *
  * You should have received a copy of the GNU Library 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/>.
  */
 
+#ifndef __GTK_COMBO_BOX_H__
+#define __GTK_COMBO_BOX_H__
+
 #if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
 #error "Only <gtk/gtk.h> can be included directly."
 #endif
 
-#ifndef __GTK_COMBO_BOX_H__
-#define __GTK_COMBO_BOX_H__
-
 #include <gtk/gtkbin.h>
 #include <gtk/gtktreemodel.h>
 #include <gtk/gtktreeview.h>
@@ -46,7 +44,7 @@ struct _GtkComboBox
   GtkBin parent_instance;
 
   /*< private >*/
-  GtkComboBoxPrivate *GSEAL (priv);
+  GtkComboBoxPrivate *priv;
 };
 
 struct _GtkComboBoxClass
@@ -54,22 +52,25 @@ struct _GtkComboBoxClass
   GtkBinClass parent_class;
 
   /* signals */
-  void     (* changed)          (GtkComboBox *combo_box);
-
-  /* vfuncs */
-  gchar *  (* get_active_text)  (GtkComboBox *combo_box);
+  void     (* changed)           (GtkComboBox *combo_box);
+  gchar   *(* format_entry_text) (GtkComboBox *combo_box,
+                                 const gchar *path);
 
   /* Padding for future expansion */
-  void (*_gtk_reserved0) (void);
   void (*_gtk_reserved1) (void);
   void (*_gtk_reserved2) (void);
+  void (*_gtk_reserved3) (void);
 };
 
 
 /* construction */
-GType         gtk_combo_box_get_type         (void) G_GNUC_CONST;
-GtkWidget    *gtk_combo_box_new              (void);
-GtkWidget    *gtk_combo_box_new_with_model   (GtkTreeModel    *model);
+GType         gtk_combo_box_get_type                 (void) G_GNUC_CONST;
+GtkWidget    *gtk_combo_box_new                      (void);
+GtkWidget    *gtk_combo_box_new_with_area            (GtkCellArea  *area);
+GtkWidget    *gtk_combo_box_new_with_area_and_entry  (GtkCellArea  *area);
+GtkWidget    *gtk_combo_box_new_with_entry           (void);
+GtkWidget    *gtk_combo_box_new_with_model           (GtkTreeModel *model);
+GtkWidget    *gtk_combo_box_new_with_model_and_entry (GtkTreeModel *model);
 
 /* grids */
 gint          gtk_combo_box_get_wrap_width         (GtkComboBox *combo_box);
@@ -84,15 +85,15 @@ void          gtk_combo_box_set_column_span_column (GtkComboBox *combo_box,
 
 gboolean      gtk_combo_box_get_add_tearoffs       (GtkComboBox *combo_box);
 void          gtk_combo_box_set_add_tearoffs       (GtkComboBox *combo_box,
-                                                   gboolean     add_tearoffs);
+                                                    gboolean     add_tearoffs);
 
-G_CONST_RETURN gchar *gtk_combo_box_get_title      (GtkComboBox *combo_box);
-void                  gtk_combo_box_set_title      (GtkComboBox *combo_box,
-                                                   const gchar *title);
+const gchar * gtk_combo_box_get_title              (GtkComboBox *combo_box);
+void          gtk_combo_box_set_title              (GtkComboBox *combo_box,
+                                                    const gchar *title);
 
 gboolean      gtk_combo_box_get_focus_on_click     (GtkComboBox *combo);
 void          gtk_combo_box_set_focus_on_click     (GtkComboBox *combo,
-                                                   gboolean     focus_on_click);
+                                                    gboolean     focus_on_click);
 
 /* get/set active item */
 gint          gtk_combo_box_get_active       (GtkComboBox     *combo_box);
@@ -110,32 +111,36 @@ GtkTreeModel *gtk_combo_box_get_model        (GtkComboBox     *combo_box);
 
 GtkTreeViewRowSeparatorFunc gtk_combo_box_get_row_separator_func (GtkComboBox                *combo_box);
 void                        gtk_combo_box_set_row_separator_func (GtkComboBox                *combo_box,
-                                                                 GtkTreeViewRowSeparatorFunc func,
-                                                                 gpointer                    data,
-                                                                 GDestroyNotify              destroy);
+                                                                  GtkTreeViewRowSeparatorFunc func,
+                                                                  gpointer                    data,
+                                                                  GDestroyNotify              destroy);
 
 void               gtk_combo_box_set_button_sensitivity (GtkComboBox        *combo_box,
-                                                        GtkSensitivityType  sensitivity);
+                                                         GtkSensitivityType  sensitivity);
 GtkSensitivityType gtk_combo_box_get_button_sensitivity (GtkComboBox        *combo_box);
 
-/* convenience -- text */
-GtkWidget    *gtk_combo_box_new_text         (void);
-void          gtk_combo_box_append_text      (GtkComboBox     *combo_box,
-                                              const gchar     *text);
-void          gtk_combo_box_insert_text      (GtkComboBox     *combo_box,
-                                              gint             position,
-                                              const gchar     *text);
-void          gtk_combo_box_prepend_text     (GtkComboBox     *combo_box,
-                                              const gchar     *text);
-void          gtk_combo_box_remove_text      (GtkComboBox     *combo_box,
-                                              gint             position);
-gchar        *gtk_combo_box_get_active_text  (GtkComboBox     *combo_box);
+gboolean           gtk_combo_box_get_has_entry          (GtkComboBox        *combo_box);
+void               gtk_combo_box_set_entry_text_column  (GtkComboBox        *combo_box,
+                                                         gint                text_column);
+gint               gtk_combo_box_get_entry_text_column  (GtkComboBox        *combo_box);
+
+void               gtk_combo_box_set_popup_fixed_width  (GtkComboBox      *combo_box,
+                                                         gboolean          fixed);
+gboolean           gtk_combo_box_get_popup_fixed_width  (GtkComboBox      *combo_box);
 
 /* programmatic control */
 void          gtk_combo_box_popup            (GtkComboBox     *combo_box);
+void          gtk_combo_box_popup_for_device (GtkComboBox     *combo_box,
+                                              GdkDevice       *device);
 void          gtk_combo_box_popdown          (GtkComboBox     *combo_box);
 AtkObject*    gtk_combo_box_get_popup_accessible (GtkComboBox *combo_box);
 
+gint          gtk_combo_box_get_id_column        (GtkComboBox *combo_box);
+void          gtk_combo_box_set_id_column        (GtkComboBox *combo_box,
+                                                  gint         id_column);
+const gchar * gtk_combo_box_get_active_id        (GtkComboBox *combo_box);
+gboolean      gtk_combo_box_set_active_id        (GtkComboBox *combo_box,
+                                                  const gchar *active_id);
 
 G_END_DECLS