X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fitem%2Fradiobutton.qc;h=00dcb680ad0d7e652000719d8312e02eacdaab95;hb=87f7bb1e370243064beac5cb18ced5893d5c8e00;hp=c1e034855aeaa2cc7992ddea2373ff9ae79fa06e;hpb=fc62dfa34fa5b13d63660d5249633af1222d6476;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/item/radiobutton.qc b/qcsrc/menu/item/radiobutton.qc index c1e034855..00dcb680a 100644 --- a/qcsrc/menu/item/radiobutton.qc +++ b/qcsrc/menu/item/radiobutton.qc @@ -1,39 +1,24 @@ -#ifndef ITEM_RADIOBUTTON_H -#define ITEM_RADIOBUTTON_H -#include "checkbox.qc" -void RadioButton_Click(entity me, entity other); -CLASS(RadioButton, CheckBox) - METHOD(RadioButton, configureRadioButton, void(entity, string, float, string, float, float)) - ATTRIB(RadioButton, checked, float, 0) - ATTRIB(RadioButton, group, float, 0) - ATTRIB(RadioButton, allowDeselect, float, 0) - ATTRIB(RadioButton, onClick, void(entity, entity), RadioButton_Click) -ENDCLASS(RadioButton) -#endif +#include "radiobutton.qh" -#ifdef IMPLEMENTATION -void RadioButton_configureRadioButton(entity me, string txt, float sz, string gfx, float theGroup, float doAllowDeselect) -{ - me.configureCheckBox(me, txt, sz, gfx); - me.align = 0; - me.group = theGroup; - me.allowDeselect = doAllowDeselect; -} -void RadioButton_Click(entity me, entity other) -{ - if(me.checked) + void RadioButton_configureRadioButton(entity me, string txt, float sz, string gfx, float theGroup, float doAllowDeselect) { - if(me.allowDeselect) - me.setChecked(me, 0); + me.configureCheckBox(me, txt, sz, gfx); + me.align = 0; + me.group = theGroup; + me.allowDeselect = doAllowDeselect; } - else + void RadioButton_Click(entity me, entity other) { - entity e; - for(e = me.parent.firstChild; e; e = e.nextSibling) - if(e != me) - if(e.group == me.group) - e.setChecked(e, 0); - me.setChecked(me, 1); + if (me.checked) + { + if (me.allowDeselect) me.setChecked(me, 0); + } + else + { + entity e; + for (e = me.parent.firstChild; e; e = e.nextSibling) + if (e != me) + if (e.group == me.group) e.setChecked(e, 0); + me.setChecked(me, 1); + } } -} -#endif