## GoComboBox

GoComboBox

## Synopsis

                        GOComboBox;
    #define             GO_COMBO_BOX_TYPE
    #define             GO_COMBO_BOX                        (o)
    #define             IS_GO_COMBO_BOX                     (o)
    #define             GO_COMBO_BOX_CLASS                  (k)
                        GOComboBoxPrivate;
    GType               go_combo_box_get_type               (void);
    void                go_combo_box_set_tooltip            (GOComboBox *combo,
                                                             void *tips,
                                                             char const *text,
                                                             char const *priv_text);
    void                go_combo_box_set_relief             (GOComboBox *combo,
                                                             GtkReliefStyle relief);
    void                go_combo_box_set_title              (GOComboBox *combo,
                                                             char const *title);
    charconst *         go_combo_box_get_title              (GOComboBox *combo);
    void                go_combo_box_set_tearable           (GOComboBox *combo,
                                                             gboolean tearable);
    void                go_combo_box_construct              (GOComboBox *combo,
                                                             GtkWidget *display_widget,
                                                             GtkWidget *popdown_container,
                                                             GtkWidget *popdown_focus);
    void                go_combo_box_get_pos                (GOComboBox *combo,
                                                             int *x,
                                                             int *y);
    void                go_combo_box_popup_hide             (GOComboBox *combo);
    void                go_combo_box_popup_display          (GOComboBox *combo);
    void                go_combo_box_set_display            (GOComboBox *combo,
                                                             GtkWidget *display_widget);

## Description

## Details

### GOComboBox

    typedef struct {
    	GtkHBox hbox;
    	GOComboBoxPrivate *priv;
    } GOComboBox;

### GO_COMBO_BOX_TYPE

    #define GO_COMBO_BOX_TYPE	(go_combo_box_get_type())

### GO_COMBO_BOX()

    #define GO_COMBO_BOX(o)		G_TYPE_CHECK_INSTANCE_CAST ((o), GO_COMBO_BOX_TYPE, GOComboBox)

`o` : |

### IS_GO_COMBO_BOX()

    #define IS_GO_COMBO_BOX(o)	G_TYPE_CHECK_INSTANCE_TYPE ((o), GO_COMBO_BOX_TYPE)

`o` : |

### GO_COMBO_BOX_CLASS()

    #define GO_COMBO_BOX_CLASS(k)	G_TYPE_CHECK_CLASS_CAST ((k), GO_COMBO_BOX_TYPE, GOComboBoxClass)

`k` : |

### GOComboBoxPrivate

    typedef struct _GOComboBoxPrivate GOComboBoxPrivate;

### go_combo_box_get_type ()

    GType               go_combo_box_get_type               (void);

Returns : |

### go_combo_box_set_tooltip ()

    void                go_combo_box_set_tooltip            (GOComboBox *combo,
                                                             void *tips,
                                                             char const *text,
                                                             char const *priv_text);

`combo` : |
`tips` : |
`text` : |
`priv_text` : |

### go_combo_box_set_relief ()

    void                go_combo_box_set_relief             (GOComboBox *combo,
                                                             GtkReliefStyle relief);

`combo` : |
`relief` : |

### go_combo_box_set_title ()

    void                go_combo_box_set_title              (GOComboBox *combo,
                                                             char const *title);

Set a title to display over the tearoff window.

FIXME:

This should really change the title even when the popup is already torn off. I guess the tearoff window could attach a listener to title change or something. But I don't think we need the functionality, so I didn't bother to investigate.

MW: Just make it a property.

`combo` : | Combo box
`title` : | Title

### go_combo_box_get_title ()

    charconst *         go_combo_box_get_title              (GOComboBox *combo);

`combo` : |
Returns : |

### go_combo_box_set_tearable ()

    void                go_combo_box_set_tearable           (GOComboBox *combo,
                                                             gboolean tearable);

controls whether the combo box's pop up widget can be torn off.

`combo` : | Combo box
`tearable` : | whether to allow the `combo` to be tearable

### go_combo_box_construct ()

    void                go_combo_box_construct              (GOComboBox *combo,
                                                             GtkWidget *display_widget,
                                                             GtkWidget *popdown_container,
                                                             GtkWidget *popdown_focus);

`combo` : |
`display_widget` : |
`popdown_container` : |
`popdown_focus` : |

### go_combo_box_get_pos ()

    void                go_combo_box_get_pos                (GOComboBox *combo,
                                                             int *x,
                                                             int *y);

`combo` : |
`x` : |
`y` : |

### go_combo_box_popup_hide ()

    void                go_combo_box_popup_hide             (GOComboBox *combo);

Hides popup, but not when it is torn off. This is the external interface - for subclasses and apps which expect a regular combo which doesn't do tearoffs.

`combo` : | a GOComboBox

### go_combo_box_popup_display ()

    void                go_combo_box_popup_display          (GOComboBox *combo);

`combo` : |

### go_combo_box_set_display ()

    void                go_combo_box_set_display            (GOComboBox *combo,
                                                             GtkWidget *display_widget);

Sets the displayed widget for the `combo_box` to be `display_widget`

`combo` : | the GOComboBox to modify
`display_widget` : | The widget to be displayed