3 * Edit class implementation
5 * Copyright (C) 2008-2009 Pawel Dziepak
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License along
18 * with this program; if not, write to the Free Software Foundation, Inc.,
19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
28 #include "libs/delegate.h"
30 using namespace hydra
;
32 edit::edit(p
<form
> frm
, delegate
<void, string
> uievent
, string name
) : ui_element(name
), filled(false) {
37 value
.method(this, &edit::get_value
);
41 edit::edit(p
<form
> frm
, string name
) : ui_element(name
), filled(false) {
45 value
.method(this, &edit::get_value
);
48 void edit::on_keyb() {/*
49 uapi::input->read(&(buffer[index++]),1);
50 if (buffer[index-1] == '\n') {
52 uapi::input->set_ondatareceived(del);
59 string
edit::get_value() {
60 string
s((char*)buffer
);
64 void edit::render(ui::ui_type
) {
67 for (char last
= '\0'; last
!= '\n'; index
++) {
68 uapi::input
->read(&buffer
[index
],1);