Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
dialog_settings_game.qh
Go to the documentation of this file.
1#pragma once
2
10
11REGISTRY(Settings, BITS(3))
12REGISTER_REGISTRY(Settings)
13
15#define REGISTER_SETTINGS(id, impl) \
16 LAZY_NEW(id, impl) \
17 REGISTER(Settings, MENU, id, m_id, NEW(Lazy, LAZY(id)))
18
26
27
28#include "datasource.qh"
30 METHOD(SettingSource, getEntry, entity(entity this, int i, void(string name, string icon) returns));
31 METHOD(SettingSource, getEntryTooltip, entity(entity this, int i, void(string theTooltip) returns));
32 METHOD(SettingSource, reload, int(entity this, string filter));
34
35
36#include "listbox.qh"
45 ATTRIB(XonoticRegisteredSettingsList, stringFilter, string);
46 ATTRIB(XonoticRegisteredSettingsList, typeToSearchString, string);
51 METHOD(XonoticRegisteredSettingsList, drawListBoxItem, void(entity this, int i, vector absSize, bool isSelected, bool isFocused));
54 METHOD(XonoticRegisteredSettingsList, resizeNotify, void(entity this, vector relOrigin, vector relSize, vector absOrigin, vector absSize));
57 {
58 this.configureXonoticListBox(this);
59 this.refilter(this);
60 }
62
63
64#include "tab.qh"
65#include "scrollpanel.qh"
71 // XonoticScrollPanel disabled because it's broken, see https://gitlab.com/xonotic/xonotic-data.pk3dir/merge_requests/548
72 // It will probably require a different implementation since XonoticScrollPanel should be an instance of Container, not ListBox
73 //ATTRIB(XonoticGameSettingsTab, currentPanel, entity, NEW(XonoticScrollPanel));
#define BITS(n)
Definition bits.qh:9
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
virtual void getEntryTooltip()
virtual void reload()
reload all entries matching filter returning how many matches were found
virtual void getEntry()
get entry i passing name and icon through returns if it is not null returns DataSource_false if out o...
ATTRIB(XonoticGameSettingsTab, currentItem, entity)
virtual void fill()
virtual void configureXonoticListBox()
ATTRIB(XonoticRegisteredSettingsList, stringFilterBox, entity)
entity() spawn
entity makeXonoticGameSettingsTab()
#define REGISTER_SETTINGS(id, impl)
entity makeXonoticGameCrosshairSettingsTab()
entity makeXonoticGameHUDSettingsTab()
entity makeXonoticGameMessageSettingsTab()
entity makeXonoticGameModelSettingsTab()
entity makeXonoticGameViewSettingsTab()
entity makeXonoticGameWeaponsSettingsTab()
Weapons
Definition guide.qh:113
string name
Definition menu.qh:30
#define NEW(cname,...)
Definition oo.qh:120
#define INIT(cname)
Definition oo.qh:214
#define CLASS(...)
Definition oo.qh:149
#define ENDCLASS(cname)
Definition oo.qh:286
#define METHOD(cname, name, prototype)
Definition oo.qh:274
#define NULL
Definition post.qh:14
#define REGISTER_REGISTRY(id)
Definition registry.qh:270
#define REGISTRY(id, max)
Declares a new registry.
Definition registry.qh:23
#define REGISTRY_DEFINE_GET(id, null)
Definition registry.qh:50
vector
Definition self.qh:96
entity this
Definition self.qh:76
entity makeXonoticDamageTextSettingsTab()