aboutsummaryrefslogtreecommitdiff
path: root/tools/editor/array_property_edit.h
blob: 0bf7468eeb0c881b711be23a64fd57274e33a26e (plain) (blame)
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
#ifndef ARRAY_PROPERTY_EDIT_H
#define ARRAY_PROPERTY_EDIT_H

#include "scene/main/node.h"

class ArrayPropertyEdit : public Reference {

	OBJ_TYPE(ArrayPropertyEdit,Reference);

	int page;
	ObjectID obj;
	StringName property;
	String vtypes;
	Variant get_array() const;

	void _notif_change();
	void _notif_changev(const String& p_v);
	void _set_size(int p_size);
	void _set_value(int p_idx,const Variant& p_value);

protected:

	static void _bind_methods();
	bool _set(const StringName& p_name, const Variant& p_value);
	bool _get(const StringName& p_name,Variant &r_ret) const;
	void _get_property_list( List<PropertyInfo> *p_list) const;

public:

	void edit(Object* p_obj,const StringName& p_prop);

	ArrayPropertyEdit();
};

#endif // ARRAY_PROPERTY_EDIT_H