Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/world_entities/elements/glgui_energywidget.cc @ 9023

Last change on this file since 9023 was 9014, checked in by bensch, 18 years ago

orxonox/trunk: autoselect first entries in the Menu

File size: 2.4 KB
Line 
1/*
2   orxonox - the future of 3D-vertical-scrollers
3
4   Copyright (C) 2004 orx
5
6   This program is free software; you can redistribute it and/or modify
7   it under the terms of the GNU General Public License as published by
8   the Free Software Foundation; either version 2, or (at your option)
9   any later version.
10
11   ### File Specific:
12   main-programmer: Benjamin Grauer
13   co-programmer: ...
14*/
15
16//#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_
17
18#include "glgui_energywidget.h"
19
20namespace OrxGui
21{
22  /**
23   * @brief standard constructor
24   */
25  GLGuiEnergyWidget::GLGuiEnergyWidget ()
26  {
27    //   this->setClassID(CL_PROTO_ID, "GLGuiEnergyWidget");
28
29    this->_bar.setSize2D(100, 30);
30    this->pack(&this->_name);
31    this->pack(&this->_valueText);
32    this->_bar.setParent2D(&this->_valueText);
33
34    this->_name.setForegroundColor(Color(1,1,1,.8));
35    this->_valueText.setChangedTextColor(Color::white);
36
37    //this->setBackgroundTexture("maps/gui_element_background_2.png");
38    this->setBackgroundColor(Color(.5,.5,.5,1));
39
40    //this->_name.setBackgroundTexture(Texture());
41    //this->_valueText.setBackgroundTexture("maps/gui_element_background_2.png");
42    this->_bar.setBackgroundTexture(Texture());
43    this->_bar.setBackgroundColor(Color(0,0,0,0));
44    this->_bar.setForegroundTexture("maps/gui_element_background_faded.png");
45    this->_bar.setForegroundColor(Color(.5, .5, .5, 1));
46    this->_bar.setChangedValueColor(Color::black);
47  }
48
49
50  /**
51   * @brief standard deconstructor
52   */
53  GLGuiEnergyWidget::~GLGuiEnergyWidget ()
54  {
55  }
56
57
58  void GLGuiEnergyWidget::setDisplayedName(const std::string& name)
59  {
60    this->_name.setText(name);
61    this->_bar.setWidgetSize(this->_name.getSize2D());
62  }
63
64  void GLGuiEnergyWidget::setMaximum(float max)
65  {
66    this->_bar.setMaximum(max);
67  }
68
69  void GLGuiEnergyWidget::setValue(float value)
70  {
71    MultiType val(value);
72    val.setType(MT_INT);
73
74
75    this->_bar.setValue(value);
76    this->_bar.setForegroundColor(Color::slerpHSVColor(Color::red, Color::green, value/this->_bar.maximum()));
77    this->_bar.setFrontColor(Color(1,1,1,1), true);
78    this->_valueText.setText(val.getString());
79  }
80
81  void GLGuiEnergyWidget::resize()
82  {
83    GLGuiBox::resize();
84  }
85
86
87  void GLGuiEnergyWidget::showing()
88  {
89    this->_name.show();
90    this->_valueText.show();
91    this->_bar.show();
92  }
93
94  void GLGuiEnergyWidget::hiding()
95  {
96    this->_name.hide();
97    this->_valueText.hide();
98    this->_bar.hide();
99  }
100}
Note: See TracBrowser for help on using the repository browser.