static void _reset_form_creation(GtkWidget *widget, dt_iop_module_t *self) { dt_iop_spots_gui_data_t *g = (dt_iop_spots_gui_data_t *)self->gui_data; if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(g->bt_path)) || gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(g->bt_circle)) || gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(g->bt_ellipse))) { // we unset the creation mode dt_masks_form_t *form = darktable.develop->form_visible; if(form) dt_masks_free_form(form); dt_masks_change_form_gui(NULL); } if (widget != g->bt_path) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(g->bt_path), FALSE); if (widget != g->bt_circle) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(g->bt_circle), FALSE); if (widget != g->bt_ellipse) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(g->bt_ellipse), FALSE); }
static void _add_circle(GtkWidget *widget, GdkEventButton *e, dt_iop_module_t *self) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) { //we unset the creation mode dt_masks_form_t *form = darktable.develop->form_visible; if (form) dt_masks_free_form(form); dt_masks_change_form_gui(NULL); dt_masks_init_formgui(darktable.develop); GTK_TOGGLE_BUTTON(widget)->active = FALSE; return; } //we want to be sure that the iop has focus dt_iop_request_focus(self); //we create the new form dt_masks_form_t *spot = dt_masks_create(DT_MASKS_CIRCLE|DT_MASKS_CLONE); dt_masks_change_form_gui(spot); darktable.develop->form_gui->creation = TRUE; darktable.develop->form_gui->creation_module = self; dt_control_queue_redraw_center(); }