net: data reception system, fixed bugs in rtl8139
[quarnos.git] / hydra / ui.cpp
blob85fb85a762dcd5fd7785160d64dc5cb7b9b7de2a
1 /* Quarn OS / Hydra
3 * UI 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.
23 #include "ui.h"
24 #include "console.h"
26 using namespace hydra;
28 console::console() : ui(ui_console) {}
30 ui::ui(ui_type uit) : uitype(uit) {}
32 void ui::add(p<ui_element> el) {
33 elements.push(el);
36 void ui::render() {
37 while (!elements.empty()) {
38 p<ui_element> uie = elements.pop();
39 uie->render(get_ui_type());
40 if (uie->dispose())
41 delete uie;
45 ui::ui_type ui::get_ui_type() {
46 return uitype;
49 ui_element::ui_element(string name) : element_name(name) {
52 bool ui_element::dispose() {
53 return true;