File: effect_editor_default.h

package info (click to toggle)
zytrax 0%2Bgit20201215-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye
  • size: 2,488 kB
  • sloc: cpp: 41,800; ansic: 3,387; makefile: 8; sh: 3
file content (52 lines) | stat: -rw-r--r-- 1,193 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#ifndef EFECT_EDITOR_DEFAULT_H
#define EFECT_EDITOR_DEFAULT_H

#include "engine/audio_effect.h"
#include "globals/map.h"
#include "gui/effect_editor.h"
#include <gtkmm.h>
class EffectEditorDefault : public Gtk::ScrolledWindow {

	class ModelColumns : public Gtk::TreeModelColumnRecord {
	public:
		ModelColumns() {
			add(name);
			add(index);
		}

		Gtk::TreeModelColumn<Glib::ustring> name;
		Gtk::TreeModelColumn<int> index;
	};

	ModelColumns model_columns;
	Glib::RefPtr<Gtk::ListStore> list_store;

	struct Combo {
		Glib::RefPtr<Gtk::ListStore> list_store;
		//Glib::RefPtr<Gtk::TreeSelection> tree_selection;
		Gtk::ComboBox *combo;
	};

	Gtk::Grid effect_grid;

	Vector<Gtk::Widget *> effects;
	Map<int, Gtk::HScale *> scales;
	Map<int, Gtk::Label *> labels;
	Map<int, Combo> combos;
	Map<int, Gtk::CheckButton *> buttons;

	Vector<Gtk::Widget *> widgets;
	AudioEffect *effect;

	void _combo_changed(int p_idx);
	void _scale_changed(int p_idx);
	void _toggle_clicked(int p_idx);

public:
	EffectEditorDefault(AudioEffect *p_effect);
	~EffectEditorDefault();
};

Gtk::Widget *create_default_editor_func(AudioEffect *p_effect, EffectEditor *p_editor);

#endif // EFECT_EDITOR_DEFAULT_H