summaryrefslogtreecommitdiff
path: root/tools/editor/addon_editor_plugin.h
blob: 3a4086d07cf2870d2400c4cfd6a6bb5f8b1d5ab7 (plain)
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
#ifndef ADDON_EDITOR_PLUGIN_H
#define ADDON_EDITOR_PLUGIN_H


#include "editor_plugin.h"
#include "scene/gui/box_container.h"
#include "scene/gui/line_edit.h"
#include "scene/gui/option_button.h"
#include "scene/gui/tab_container.h"
#include "editor_plugin_settings.h"

class EditorAddonLibrary : public VBoxContainer {
	OBJ_TYPE(EditorAddonLibrary,VBoxContainer);

	TabContainer *tabs;
	EditorPluginSettings *installed;
	VBoxContainer *library;
	LineEdit *filter;
	OptionButton *categories;
	Button *search;


public:
	EditorAddonLibrary();
};

class AddonEditorPlugin : public EditorPlugin {

	OBJ_TYPE( AddonEditorPlugin, EditorPlugin );

	EditorAddonLibrary *addon_library;
	EditorNode *editor;

public:

	virtual String get_name() const { return "Addons"; }
	bool has_main_screen() const { return true; }
	virtual void edit(Object *p_object) {}
	virtual bool handles(Object *p_object) const { return false; }
	virtual void make_visible(bool p_visible);
	//virtual bool get_remove_list(List<Node*> *p_list) { return canvas_item_editor->get_remove_list(p_list); }
	//virtual Dictionary get_state() const;
	//virtual void set_state(const Dictionary& p_state);

	AddonEditorPlugin(EditorNode *p_node);
	~AddonEditorPlugin();

};

#endif // EDITORASSETLIBRARY_H