79 lines
2.3 KiB
C
79 lines
2.3 KiB
C
//
|
|
// Copyright(C) 2005-2014 Simon Howard
|
|
//
|
|
// This program is free software; you can redistribute it and/or
|
|
// modify it under the terms of the GNU General Public License
|
|
// as published by the Free Software Foundation; either version 2
|
|
// of the License, or (at your option) any later version.
|
|
//
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
//
|
|
|
|
#ifndef TXT_RADIOBUTTON_H
|
|
#define TXT_RADIOBUTTON_H
|
|
|
|
/**
|
|
* @file txt_radiobutton.h
|
|
*
|
|
* Radio button widget.
|
|
*/
|
|
|
|
/**
|
|
* A radio button widget.
|
|
*
|
|
* Radio buttons are typically used in groups, to allow a value to be
|
|
* selected from a range of options. Each radio button corresponds
|
|
* to a particular option that may be selected. A radio button
|
|
* has an indicator to indicate whether it is the currently-selected
|
|
* value, and a text label.
|
|
*
|
|
* Internally, a radio button tracks an integer variable that may take
|
|
* a range of different values. Each radio button has a particular
|
|
* value associated with it; if the variable is equal to that value,
|
|
* the radio button appears selected. If a radio button is pressed
|
|
* by the user through the GUI, the variable is set to its value.
|
|
*
|
|
* When a radio button is selected, the "selected" signal is emitted.
|
|
*/
|
|
|
|
typedef struct txt_radiobutton_s txt_radiobutton_t;
|
|
|
|
#include "txt_widget.h"
|
|
|
|
struct txt_radiobutton_s
|
|
{
|
|
txt_widget_t widget;
|
|
char *label;
|
|
int *variable;
|
|
int value;
|
|
};
|
|
|
|
/**
|
|
* Create a new radio button widget.
|
|
*
|
|
* @param label The label to display next to the radio button.
|
|
* @param variable Pointer to the variable tracking whether this
|
|
* radio button is selected.
|
|
* @param value If the variable is equal to this value, the
|
|
* radio button appears selected.
|
|
* @return Pointer to the new radio button widget.
|
|
*/
|
|
|
|
txt_radiobutton_t *TXT_NewRadioButton(char *label, int *variable, int value);
|
|
|
|
/**
|
|
* Set the label on a radio button.
|
|
*
|
|
* @param radiobutton The radio button.
|
|
* @param value The new label.
|
|
*/
|
|
|
|
void TXT_SetRadioButtonLabel(txt_radiobutton_t *radiobutton, char *value);
|
|
|
|
#endif /* #ifndef TXT_RADIOBUTTON_H */
|
|
|
|
|