#pragma once

#include "../item.qh"
CLASS(XonoticPicker, MenuItem)
	METHOD(XonoticPicker, configureXonoticPicker, void(entity));
	METHOD(XonoticPicker, mousePress, bool(XonoticPicker this, vector pos));
	METHOD(XonoticPicker, mouseRelease, float(entity, vector));
	METHOD(XonoticPicker, mouseMove, float(entity, vector));
	METHOD(XonoticPicker, mouseDrag, float(entity, vector));
	METHOD(XonoticPicker, keyDown, float(entity, float, float, float));
	METHOD(XonoticPicker, draw, void(entity));
	ATTRIB(XonoticPicker, focusable, bool, true);
	ATTRIB(XonoticPicker, disabled, float, 0);
	ATTRIB(XonoticPicker, alpha, float, 1);
	ATTRIB(XonoticPicker, disabledAlpha, float, SKINALPHA_DISABLED);

	ATTRIB(XonoticPicker, rows, float, 3);
	ATTRIB(XonoticPicker, columns, float, 2);

	METHOD(XonoticPicker, moveFocus, void(entity, vector, vector));
	METHOD(XonoticPicker, cellSelect, void(entity, vector));
	METHOD(XonoticPicker, cellDraw, void(entity, vector, vector));
	METHOD(XonoticPicker, cellIsValid, bool(entity, vector));
	ATTRIB(XonoticPicker, realCellSize, vector, '0 0 0');
	ATTRIB(XonoticPicker, selectedCell, vector, '-1 -1 0');
	ATTRIB(XonoticPicker, focusedCell, vector, '-1 -1 0');
	ATTRIB(XonoticPicker, focusedCellAlpha, float, 0);
	ATTRIB(XonoticPicker, focusedCellTime, float, 0);
	ATTRIB(XonoticPicker, pressedCell, vector, '-1 -1 0');
ENDCLASS(XonoticPicker)
entity makeXonoticPicker();
