Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

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

orxonox/trunk: much nicer rendering. The Bar is now behind the Value

File size: 2.2 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: ...
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->setBackgroundTexture("maps/gui_element_background_2.png");
35    this->setBackgroundColor(Color(.5,.5,.5,1));
36
37    this->_name.setBackgroundTexture(Texture());
38    this->_valueText.setBackgroundTexture("maps/gui_element_background_2.png");
39    this->_bar.setBackgroundTexture(Texture());
40    this->_bar.setBackgroundColor(Color(0,0,0,0));
41    this->_bar.setForegroundColor(Color(.5, .5, .5, 1));
42  }
43
44
45  /**
46   * @brief standard deconstructor
47   */
48  GLGuiEnergyWidget::~GLGuiEnergyWidget ()
49  {
50  }
51
52
53  void GLGuiEnergyWidget::setDisplayedName(const std::string& name)
54  {
55    this->_name.setText(name);
56    this->_bar.setWidgetSize(this->_name.getSize2D());
57  }
58
59  void GLGuiEnergyWidget::setMaximum(float max)
60  {
61    this->_bar.setMaximum(max);
62  }
63
64  void GLGuiEnergyWidget::setValue(float value)
65  {
66    MultiType val(value);
67    val.setType(MT_INT);
68
69
70    this->_bar.setValue(value);
71    this->_bar.setForegroundColor(Color::slerpHSVColor(Color::red, Color::green, value/this->_bar.maximum()));
72    this->_bar.setFrontColor(Color(1,1,1,1), true);
73    this->_valueText.setText(val.getString());
74  }
75
76  void GLGuiEnergyWidget::resize()
77  {
78    GLGuiBox::resize();
79  }
80
81
82  void GLGuiEnergyWidget::showing()
83  {
84    this->_name.show();
85    this->_valueText.show();
86    this->_bar.show();
87  }
88
89  void GLGuiEnergyWidget::hiding()
90  {
91    this->_name.hide();
92    this->_valueText.hide();
93    this->_bar.hide();
94  }
95}
Note: See TracBrowser for help on using the repository browser.