kobodl/form.h
Ville Lindholm dbc223eb84
Initial commit
Import existing source tree; original VCS history is no longer available.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-28 16:35:31 +03:00

85 lines
2.3 KiB
C++

/*(GPL)
------------------------------------------------------------
Kobo Deluxe - An enhanced SDL port of XKobo
------------------------------------------------------------
* Copyright (C) 2001, 2007 David Olofson
* Copyright (C) 2005 Erik Auerswald
*
* 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.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef _KOBO_FORM_H_
#define _KOBO_FORM_H_
#include "toolkit.h"
#include "cfgparse.h"
#define LINE_H 9
#define SPACE_SIZE 7
#define BIG_LINE_H 18
#define BIG_SPACE_SIZE 14
class kobo_form_t : public ct_form_t
{
config_parser_t *_data;
//Called by build_all().
void begin();
void end();
protected:
ct_widget_t *current_widget;
ct_list_t *current_list;
int ypos;
int _big;
float xoffs;
ct_align_t halign;
virtual void init_widget(ct_widget_t *wg);
//Toolkit
void big();
void medium();
void small();
void label(const char *cap);
void yesno(const char *cap, int *var, int tag = 0);
void onoff(const char *cap, int *var, int tag = 0);
void spin(const char *cap, int *var, int min, int max,
const char *unit, int tag = 0);
void button(const char *cap, int tag = 0);
void space(int lines = 1);
//config_parser_t aware version! :-)
void data(config_parser_t *_d);
void editor(int handle, int tag = 0);
void editor(const char *name, int tag = 0);
//List tools
void list(const char *cap, int *var, int tag = 0);
void item(const char *cap, int value, int ind = 0);
void perc_list(int first, int last, int step);
void enum_list(int first, int last);
//Internal wrapper for build()
void build_all();
public:
kobo_form_t();
virtual ~kobo_form_t();
void next();
void prev();
virtual void change(int delta);
virtual void build();
};
#endif