// * this is for making emacs happy: -*-Mode: C++;-*-
/****************************************************************************
- * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. *
+ * Copyright 2019-2020,2021 Thomas E. Dickey *
+ * Copyright 1998-2005,2011 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
#include "cursesf.h"
#include "cursesapp.h"
-MODULE_ID("$Id: cursesf.cc,v 1.21 2005/08/13 18:09:06 tom Exp $")
+MODULE_ID("$Id: cursesf.cc,v 1.26 2021/04/17 18:11:08 tom Exp $")
-NCursesFormField::~NCursesFormField ()
+NCursesFormField::~NCursesFormField () THROWS(NCursesException)
{
if (field)
OnError(::free_field (field));
setDefaultAttributes();
}
-NCursesForm::~NCursesForm()
+NCursesForm::~NCursesForm() THROWS(NCursesException)
{
UserHook* hook = reinterpret_cast<UserHook*>(::form_userptr(form));
delete hook;
void
NCursesForm::On_Field_Init(NCursesFormField& field)
{
+ (void) field;
}
void
NCursesForm::On_Field_Termination(NCursesFormField& field)
{
+ (void) field;
}
// call the form driver and do basic error checking.
void NCursesForm::On_Request_Denied(int c) const
{
+ (void) c;
::beep();
}
void NCursesForm::On_Invalid_Field(int c) const
{
+ (void) c;
::beep();
}
void NCursesForm::On_Unknown_Command(int c) const
{
+ (void) c;
::beep();
}
NCursesForm::operator()(void)
{
int drvCmnd;
- int err;
int c;
post();
show();
refresh();
- while (((drvCmnd = virtualize((c=getKey()))) != CMD_QUIT)) {
- switch((err=driver(drvCmnd))) {
+ while (((drvCmnd = virtualize((c = getKey()))) != CMD_QUIT)) {
+ int err;
+ switch((err = driver(drvCmnd))) {
case E_REQUEST_DENIED:
On_Request_Denied(c);
break;
//
bool _nc_xx_fld_fcheck(FIELD *f, const void *u)
{
+ (void) f;
NCursesFormField* F = reinterpret_cast<NCursesFormField*>(const_cast<void *>(u));
assert(F != 0);
UserDefinedFieldType* udf = reinterpret_cast<UserDefinedFieldType*>(F->fieldtype());
::new_fieldtype(_nc_xx_fld_fcheck,
_nc_xx_fld_ccheck);
+
+UserDefinedFieldType::UserDefinedFieldType() : NCursesFieldType(generic_fieldtype) {
+}
+
FIELDTYPE* UserDefinedFieldType_With_Choice::generic_fieldtype_with_choice =
::new_fieldtype(_nc_xx_fld_fcheck,
_nc_xx_fld_ccheck);
+
+UserDefinedFieldType_With_Choice::UserDefinedFieldType_With_Choice() {
+ fieldtype = generic_fieldtype_with_choice;
+}
+
bool _nc_xx_next_choice(FIELD *f, const void *u)
{
+ (void) f;
NCursesFormField* F = reinterpret_cast<NCursesFormField*>(const_cast<void *>(u));
assert(F != 0);
UserDefinedFieldType_With_Choice* udf =
bool _nc_xx_prev_choice(FIELD *f, const void *u)
{
+ (void) f;
NCursesFormField* F = reinterpret_cast<NCursesFormField*>(const_cast<void *>(u));
assert(F != 0);
UserDefinedFieldType_With_Choice* udf =
};
UDF_Init* UDF_Init::I = new UDF_Init();
+
+