static int set_data (SsdWidget widget, const void *value) { struct ssd_checkbox_data *data = (struct ssd_checkbox_data *)widget->data; if ((!strcmp((char *)value,"Yes")) || (!strcmp((char *)value,"yes"))){ const char *checked_icon; data->selected = TRUE; if ( data->checked_icon ) checked_icon = data->checked_icon; else checked_icon = checked_button[data->style]; ssd_button_change_icon( widget->children, &checked_icon, 1 ); } else{ const char *unchecked_icon; data->selected = FALSE; if ( data->unchecked_icon ) unchecked_icon = data->unchecked_icon; else unchecked_icon = unchecked_button[data->style]; ssd_button_change_icon( widget->children, &unchecked_icon, 1 ); } return 1; }
static int choice_callback (SsdWidget widget, const char *new_value) { struct ssd_checkbox_data *data; SsdWidget widget_parent; widget_parent = widget->parent; data = (struct ssd_checkbox_data *)widget_parent->data; if (data->selected) ssd_button_change_icon(widget,&data->unchecked_icon,1 ); else ssd_button_change_icon(widget,&data->checked_icon,1); data->selected = !data->selected; if (data->callback) (*data->callback)(widget, new_value); return 1; }
void ssd_dialog_change_button(const char *name, const char **bitmaps, int num_bitmaps){ SsdWidget button = ssd_widget_get(RoadMapDialogCurrent->container, name); if (button) ssd_button_change_icon(button, bitmaps, num_bitmaps); }