/****************************************************************************
GLUI User Interface Toolkit
---------------------------
glui_edittext.cpp - GLUI_EditText control class
--------------------------------------------------
Copyright (c) 1998 Paul Rademacher
WWW: http://sourceforge.net/projects/glui/
Forums: http://sourceforge.net/forum/?group_id=92496
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*****************************************************************************/
#include "glui_internal_control.h"
#include <cassert>
/****************************** GLUI_EditText::GLUI_EditText() **********/
GLUI_EditText::GLUI_EditText( GLUI_Node *parent, const char *name,
int data_type, void *live_var,
int id, GLUI_CB callback )
{
if (data_type == GLUI_EDITTEXT_TEXT) {
live_type = GLUI_LIVE_TEXT;
}
else if (data_type == GLUI_EDITTEXT_STRING) {
data_type = GLUI_EDITTEXT_TEXT; // EDITTEXT_STRING doesn't really exist.
// Except as a signal to make a string.
// It's a backwards-compat hack.
live_type = GLUI_LIVE_STRING;
}
else if (data_type == GLUI_EDITTEXT_INT) {
live_type = GLUI_LIVE_INT;
}
else if (data_type == GLUI_EDITTEXT_FLOAT) {
live_type = GLUI_LIVE_FLOAT;
}
common_construct( parent, name, data_type, live_type, live_var, id, callback );
}
/****************************** GLUI_EditText::GLUI_EditText() **********/
GLUI_EditText::GLUI_EditText( GLUI_Node *parent, const char *name,
int text_type, int id, GLUI_CB callback )
{
common_construct( parent, name, text_type, GLUI_LIVE_NONE, 0, id, callback);
}
/****************************** GLUI_EditText::GLUI_EditText() **********/
GLUI_EditText::GLUI_EditText( GLUI_Node *parent, const char *name,
int *live_var,
int id, GLUI_CB callback )
{
common_construct( parent, name, GLUI_EDITTEXT_INT, GLUI_LIVE_INT, live_var, id, callback);
}
/****************************** GLUI_EditText::GLUI_EditText() **********/
GLUI_EditText::GLUI_EditText( GLUI_Node *parent, const char *name,
float *live_var,
int id, GLUI_CB callback )
{
common_construct( parent, name, GLUI_EDITTEXT_FLOAT, GLUI_LIVE_FLOAT, live_var, id, callback);
}
/****************************** GLUI_EditText::GLUI_EditText() **********/
GLUI_EditText::GLUI_EditText( GLUI_Node *parent, const char *name,
char *live_var,
int id, GLUI_CB callback )
{
common_construct( parent, name, GLUI_EDITTEXT_TEXT, GLUI_LIVE_TEXT, live_var, id, callback);
}
/****************************** GLUI_EditText::GLUI_EditText() **********/
GLUI_EditText::GLUI_EditText( GLUI_Node *parent, const char *name,
std::string &live_var,
int id, GLUI_CB callback )
{
common_construct( parent, name, GLUI_EDITTEXT_TEXT, GLUI_LIVE_STRING, &live_var, id, callback);
}
/****************************** GLUI_EditText::common_construct() **********/
void GLUI_EditText::common_construct( GLUI_Node *parent, const char *na