void ColorPicker::erase_preset(const Color &p_color) { if (presets.find(p_color)) { presets.erase(presets.find(p_color)); preset->update(); #ifdef TOOLS_ENABLED if (Engine::get_singleton()->is_editor_hint()) { PoolColorArray arr_to_save = get_presets(); EditorSettings::get_singleton()->set_project_metadata("color_picker", "presets", arr_to_save); } #endif } }
static void down_click_handler(ClickRecognizerRef recognizer, void *context) { if (!is_connected) { return; } if (s_state == BEGINNING_STATE) { recent_contact_chooser_init(); change_state(GETTING_RECENT_CONTACTS_STATE); get_recent_contacts(); } else if (s_state == CREATING_FINAL_MESSAGE_STATE) { preset_init(); change_state(GETTING_PRESETS_STATE); get_presets(); } }
/** Instantiate the user interface */ static LV2UI_Handle instantiate(const LV2UI_Descriptor *descriptor, const char *plugin_uri, const char *bundle_path, LV2UI_Write_Function write_function, LV2UI_Controller controller, LV2UI_Widget *widget, const LV2_Feature *const *features) { /* Create object data */ FluidUI *self = malloc(sizeof(FluidUI)); self->write = write_function; self->controller = controller; for (int i = 0; features[i]; i++) { if (strcmp(features[i]->URI, LV2_URID__map) == 0) self->map = (LV2_URID_Map *)features[i]->data; } map_uris(self->map, &self->uris); lv2_atom_forge_init(&self->forge, self->map); /* Create GUI */ self->box = gtk_hbox_new(FALSE, 4); self->label = gtk_label_new("Preset"); self->combo_box = gtk_combo_box_text_new(); get_presets(self); gtk_box_pack_start(GTK_BOX(self->box), self->label, TRUE, TRUE, 4); gtk_box_pack_start(GTK_BOX(self->box), self->combo_box, FALSE, TRUE, 4); g_signal_connect(self->combo_box, "changed", G_CALLBACK(on_changed), self); *widget = self->box; /* Send patch get to synth plug to get current preset setting */ uint8_t obj_buf[OBJ_BUF_SIZE]; lv2_atom_forge_set_buffer(&self->forge, obj_buf, OBJ_BUF_SIZE); LV2_Atom *patch_get = write_patch_get(&self->forge, &self->uris); self->write(self->controller, INPUT_PORT, lv2_atom_total_size(patch_get), self->uris.atom_event_transfer, patch_get); return self; }
void ColorPicker::add_preset(const Color &p_color) { if (presets.find(p_color)) { presets.move_to_back(presets.find(p_color)); } else { presets.push_back(p_color); } preset->update(); if (presets.size() == 10) bt_add_preset->hide(); #ifdef TOOLS_ENABLED if (Engine::get_singleton()->is_editor_hint()) { PoolColorArray arr_to_save = get_presets(); EditorSettings::get_singleton()->set_project_metadata("color_picker", "presets", arr_to_save); } #endif }