⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flmodule.c

📁 python s60 1.4.5版本的源代码
💻 C
📖 第 1 页 / 共 4 页
字号:
	
	if (str == NULL) {
		Py_INCREF(Py_None);
		return Py_None;
	}
	return PyString_FromString (str);
}

/* int func (object) */
static PyObject *
call_forms_Rf (float (*func)(FL_OBJECT *), FL_OBJECT *obj, PyObject *args)
{
	float retval;
	
	if (!PyArg_NoArgs(args)) return NULL;
	
	retval = (*func) (obj);
	
	return PyFloat_FromDouble (retval);
}

static PyObject *
call_forms_OUTfOUTf (void (*func)(FL_OBJECT *, float *, float *), FL_OBJECT *obj, PyObject *args)
{
	float f1, f2;
	
	if (!PyArg_NoArgs(args)) return NULL;
	
	(*func) (obj, &f1, &f2);

	return Py_BuildValue("(ff)", f1, f2);
}

#ifdef UNUSED
static PyObject *
call_forms_OUTf (void (*func)(FL_OBJECT *, float *), FL_OBJECT *obj, PyObject *args)
{
	float f;

	if (!PyArg_NoArgs(args)) return NULL;

	(*func) (obj, &f);

	return PyFloat_FromDouble (f);
}
#endif

/**********************************************************************/
/* Class : browser */

static PyObject *
set_browser_topline(genericobject *g, PyObject *args)
{
	return call_forms_INi (fl_set_browser_topline, g-> ob_generic, args);
}

static PyObject *
clear_browser(genericobject *g, PyObject *args)
{
	return generic_call (g, args, fl_clear_browser);
}

static PyObject *
add_browser_line (genericobject *g, PyObject *args)
{
	return call_forms_INstr (fl_add_browser_line, g-> ob_generic, args);
}

static PyObject *
addto_browser (genericobject *g, PyObject *args)
{
	return call_forms_INstr (fl_addto_browser, g-> ob_generic, args);
}

static PyObject *
insert_browser_line (genericobject *g, PyObject *args)
{
	return call_forms_INiINstr (fl_insert_browser_line,
				    g-> ob_generic, args);
}

static PyObject *
delete_browser_line (genericobject *g, PyObject *args)
{
	return call_forms_INi (fl_delete_browser_line, g-> ob_generic, args);
}

static PyObject *
replace_browser_line (genericobject *g, PyObject *args)
{
	return call_forms_INiINstr (fl_replace_browser_line,
				    g-> ob_generic, args);
}

static PyObject *
get_browser_line(genericobject *g, PyObject *args)
{
	int i;
	char *str;

	if (!PyArg_Parse(args, "i", &i))
		return NULL;

	str = fl_get_browser_line (g->ob_generic, i);

	if (str == NULL) {
		Py_INCREF(Py_None);
		return Py_None;
	}
	return PyString_FromString (str);
}

static PyObject *
load_browser (genericobject *g, PyObject *args)
{
	/* XXX strictly speaking this is wrong since fl_load_browser
	   XXX returns int, not void */
	return call_forms_INstr (fl_load_browser, g-> ob_generic, args);
}

static PyObject *
get_browser_maxline(genericobject *g, PyObject *args)
{
	return call_forms_Ri (fl_get_browser_maxline, g-> ob_generic, args);
}

static PyObject *
select_browser_line (genericobject *g, PyObject *args)
{
	return call_forms_INi (fl_select_browser_line, g-> ob_generic, args);
}

static PyObject *
deselect_browser_line (genericobject *g, PyObject *args)
{
	return call_forms_INi (fl_deselect_browser_line, g-> ob_generic, args);
}

static PyObject *
deselect_browser (genericobject *g, PyObject *args)
{
	return generic_call (g, args, fl_deselect_browser);
}

static PyObject *
isselected_browser_line (genericobject *g, PyObject *args)
{
	int i, j;
	
	if (!PyArg_Parse(args, "i", &i))
		return NULL;
	
	j = fl_isselected_browser_line (g->ob_generic, i);
	
	return PyInt_FromLong (j);
}

static PyObject *
get_browser (genericobject *g, PyObject *args)
{
	return call_forms_Ri (fl_get_browser, g-> ob_generic, args);
}

static PyObject *
set_browser_fontsize (genericobject *g, PyObject *args)
{
	return call_forms_INf (fl_set_browser_fontsize, g-> ob_generic, args);
}

static PyObject *
set_browser_fontstyle (genericobject *g, PyObject *args)
{
	return call_forms_INi (fl_set_browser_fontstyle, g-> ob_generic, args);
}

static PyObject *
set_browser_specialkey (genericobject *g, PyObject *args)
{
	return call_forms_INc(fl_set_browser_specialkey, g-> ob_generic, args);
}

static PyMethodDef browser_methods[] = {
	{"set_browser_topline",		(PyCFunction)set_browser_topline},
	{"clear_browser",		(PyCFunction)clear_browser},
	{"add_browser_line",		(PyCFunction)add_browser_line},
	{"addto_browser",		(PyCFunction)addto_browser},
	{"insert_browser_line",		(PyCFunction)insert_browser_line},
	{"delete_browser_line",		(PyCFunction)delete_browser_line},
	{"replace_browser_line",	(PyCFunction)replace_browser_line},
	{"get_browser_line",		(PyCFunction)get_browser_line},
	{"load_browser",		(PyCFunction)load_browser},
	{"get_browser_maxline",		(PyCFunction)get_browser_maxline},
	{"select_browser_line",		(PyCFunction)select_browser_line},
	{"deselect_browser_line",	(PyCFunction)deselect_browser_line},
	{"deselect_browser",		(PyCFunction)deselect_browser},
	{"isselected_browser_line",	(PyCFunction)isselected_browser_line},
	{"get_browser",			(PyCFunction)get_browser},
	{"set_browser_fontsize",	(PyCFunction)set_browser_fontsize},
	{"set_browser_fontstyle",	(PyCFunction)set_browser_fontstyle},
	{"set_browser_specialkey",	(PyCFunction)set_browser_specialkey},
	{NULL,				NULL}		/* sentinel */
};

/* Class: button */

static PyObject *
set_button(genericobject *g, PyObject *args)
{
	return call_forms_INi (fl_set_button, g-> ob_generic, args);
}

static PyObject *
get_button(genericobject *g, PyObject *args)
{
	return call_forms_Ri (fl_get_button, g-> ob_generic, args);
}

static PyObject *
get_button_numb(genericobject *g, PyObject *args)
{
	return call_forms_Ri (fl_get_button_numb, g-> ob_generic, args);
}

static PyObject *
set_button_shortcut(genericobject *g, PyObject *args)
{
	return call_forms_INstr (fl_set_button_shortcut, g-> ob_generic, args);
}

static PyMethodDef button_methods[] = {
	{"set_button",		(PyCFunction)set_button},
	{"get_button",		(PyCFunction)get_button},
	{"get_button_numb",	(PyCFunction)get_button_numb},
	{"set_button_shortcut",	(PyCFunction)set_button_shortcut},
	{NULL,			NULL}		/* sentinel */
};

/* Class: choice */

static PyObject *
set_choice(genericobject *g, PyObject *args)
{
	return call_forms_INi (fl_set_choice, g-> ob_generic, args);
}

static PyObject *
get_choice(genericobject *g, PyObject *args)
{
	return call_forms_Ri (fl_get_choice, g-> ob_generic, args);
}

static PyObject *
clear_choice (genericobject *g, PyObject *args)
{
	return generic_call (g, args, fl_clear_choice);
}

static PyObject *
addto_choice (genericobject *g, PyObject *args)
{
	return call_forms_INstr (fl_addto_choice, g-> ob_generic, args);
}

static PyObject *
replace_choice (genericobject *g, PyObject *args)
{
	return call_forms_INiINstr (fl_replace_choice, g-> ob_generic, args);
}

static PyObject *
delete_choice (genericobject *g, PyObject *args)
{
	return call_forms_INi (fl_delete_choice, g-> ob_generic, args);
}

static PyObject *
get_choice_text (genericobject *g, PyObject *args)
{
	return call_forms_Rstr (fl_get_choice_text, g-> ob_generic, args);
}

static PyObject *
set_choice_fontsize (genericobject *g, PyObject *args)
{
	return call_forms_INf (fl_set_choice_fontsize, g-> ob_generic, args);
}

static PyObject *
set_choice_fontstyle (genericobject *g, PyObject *args)
{
	return call_forms_INi (fl_set_choice_fontstyle, g-> ob_generic, args);
}

static PyMethodDef choice_methods[] = {
	{"set_choice",		(PyCFunction)set_choice},
	{"get_choice",		(PyCFunction)get_choice},
	{"clear_choice",	(PyCFunction)clear_choice},
	{"addto_choice",	(PyCFunction)addto_choice},
	{"replace_choice",	(PyCFunction)replace_choice},
	{"delete_choice",	(PyCFunction)delete_choice},
	{"get_choice_text",	(PyCFunction)get_choice_text},
	{"set_choice_fontsize", (PyCFunction)set_choice_fontsize},
	{"set_choice_fontstyle",(PyCFunction)set_choice_fontstyle},
	{NULL,			NULL}		/* sentinel */
};

/* Class : Clock */

static PyObject *
get_clock(genericobject *g, PyObject *args)
{
	int i0, i1, i2;

	if (!PyArg_NoArgs(args))
		return NULL;

	fl_get_clock (g->ob_generic, &i0, &i1, &i2);

	return Py_BuildValue("(iii)", i0, i1, i2);
}

static PyMethodDef clock_methods[] = {
	{"get_clock",		(PyCFunction)get_clock},
	{NULL,			NULL}		/* sentinel */
};

/* CLass : Counters */

static PyObject *
get_counter_value(genericobject *g, PyObject *args)
{
	return call_forms_Rf (fl_get_counter_value, g-> ob_generic, args);
}

static PyObject *
set_counter_value (genericobject *g, PyObject *args)
{
	return call_forms_INf (fl_set_counter_value, g-> ob_generic, args);
}

static PyObject *
set_counter_precision (genericobject *g, PyObject *args)
{
	return call_forms_INi (fl_set_counter_precision, g-> ob_generic, args);
}

static PyObject *
set_counter_bounds (genericobject *g, PyObject *args)
{
	return call_forms_INfINf (fl_set_counter_bounds, g-> ob_generic, args);
}

static PyObject *
set_counter_step (genericobject *g, PyObject *args)
{
	return call_forms_INfINf (fl_set_counter_step, g-> ob_generic, args);
}

static PyObject *
set_counter_return (genericobject *g, PyObject *args)
{
	return call_forms_INi (fl_set_counter_return, g-> ob_generic, args);
}

static PyMethodDef counter_methods[] = {
	{"set_counter_value",		(PyCFunction)set_counter_value},
	{"get_counter_value",		(PyCFunction)get_counter_value},
	{"set_counter_bounds",		(PyCFunction)set_counter_bounds},
	{"set_counter_step",		(PyCFunction)set_counter_step},
	{"set_counter_precision",	(PyCFunction)set_counter_precision},
	{"set_counter_return",		(PyCFunction)set_counter_return},
	{NULL,				NULL}		/* sentinel */
};


/* Class: Dials */

static PyObject *
get_dial_value(genericobject *g, PyObject *args)
{
	return call_forms_Rf (fl_get_dial_value, g-> ob_generic, args);
}

static PyObject *
set_dial_value (genericobject *g, PyObject *args)
{
	return call_forms_INf (fl_set_dial_value, g-> ob_generic, args);
}

static PyObject *
set_dial_bounds (genericobject *g, PyObject *args)
{
	return call_forms_INfINf (fl_set_dial_bounds, g-> ob_generic, args);
}

static PyObject *
get_dial_bounds (genericobject *g, PyObject *args)
{
	return call_forms_OUTfOUTf (fl_get_dial_bounds, g-> ob_generic, args);
}

static PyObject *
set_dial_step (genericobject *g, PyObject *args)
{
	return call_forms_INf (fl_set_dial_step, g-> ob_generic, args);
}

static PyMethodDef dial_methods[] = {
	{"set_dial_value",	(PyCFunction)set_dial_value},
	{"get_dial_value",	(PyCFunction)get_dial_value},
	{"set_dial_bounds",	(PyCFunction)set_dial_bounds},
	{"get_dial_bounds",	(PyCFunction)get_dial_bounds},
	{"set_dial_step",	(PyCFunction)set_dial_step},
	{NULL,			NULL}		/* sentinel */
};

/* Class : Input */

static PyObject *
set_input (genericobject *g, PyObject *args)
{
	return call_forms_INstr (fl_set_input, g-> ob_generic, args);
}

static PyObject *
get_input (genericobject *g, PyObject *args)
{
	return call_forms_Rstr (fl_get_input, g-> ob_generic, args);
}

static PyObject *
set_input_color (genericobject *g, PyObject *args)
{
	return call_forms_INfINf (fl_set_input_color, g-> ob_generic, args);
}

static PyObject *
set_input_return (genericobject *g, PyObject *args)
{
	return call_forms_INi (fl_set_input_return, g-> ob_generic, args);
}

static PyMethodDef input_methods[] = {
	{"set_input",		(PyCFunction)set_input},
	{"get_input",		(PyCFunction)get_input},
	{"set_input_color",	(PyCFunction)set_input_color},
	{"set_input_return",	(PyCFunction)set_input_return},
	{NULL,			NULL}		/* sentinel */
};


/* Class : Menu */

static PyObject *
set_menu (genericobject *g, PyObject *args)
{
	return call_forms_INstr (fl_set_menu, g-> ob_generic, args);
}

static PyObject *
get_menu (genericobject *g, PyObject *args)
{
	/* XXX strictly speaking this is wrong since fl_get_menu
	   XXX returns long, not int */
	return call_forms_Ri (fl_get_menu, g-> ob_generic, args);
}

static PyObject *
get_menu_text (genericobject *g, PyObject *args)
{
	return call_forms_Rstr (fl_get_menu_text, g-> ob_generic, args);
}

static PyObject *
addto_menu (genericobject *g, PyObject *args)
{
	return call_forms_INstr (fl_addto_menu, g-> ob_generic, args);
}

static PyMethodDef menu_methods[] = {
	{"set_menu",		(PyCFunction)set_menu},
	{"get_menu",		(PyCFunction)get_menu},
	{"get_menu_text",	(PyCFunction)get_menu_text},
	{"addto_menu",		(PyCFunction)addto_menu},
	{NULL,			NULL}		/* sentinel */
};


/* Class: Sliders */

static PyObject *
get_slider_value(genericobject *g, PyObject *args)
{
	return call_forms_Rf (fl_get_slider_value, g-> ob_generic, args);
}

static PyObject *
set_slider_value (genericobject *g, PyObject *args)
{
	return call_forms_INf (fl_set_slider_value, g-> ob_generic, args);
}

static PyObject *
set_slider_bounds (genericobject *g, PyObject *args)
{
	return call_forms_INfINf (fl_set_slider_bounds, g-> ob_generic, args);
}

static PyObject *
get_slider_bounds (genericobject *g, PyObject *args)
{
	return call_forms_OUTfOUTf(fl_get_slider_bounds, g-> ob_generic, args);
}

static PyObject *
set_slider_return (genericobject *g, PyObject *args)
{
	return call_forms_INf (fl_set_slider_return, g-> ob_generic, args);
}

static PyObject *
set_slider_size (genericobject *g, PyObject *args)
{
	return call_forms_INf (fl_set_slider_size, g-> ob_generic, args);
}

static PyObject *
set_slider_precision (genericobject *g, PyObject *args)
{
	return call_forms_INi (fl_set_slider_precision, g-> ob_generic, args);
}

static PyObject *
set_slider_step (genericobject *g, PyObject *args)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -