/usr/include/Nux-4.0/Nux/RangeValue.h is in libnux-4.0-dev 4.0.8+17.10.20170922-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | /*
* Copyright 2010 Inalogic® Inc.
*
* This program 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 or 3.0
* of the License.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranties of
* MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the applicable version of the GNU Lesser General Public
* License for more details.
*
* You should have received a copy of both the GNU Lesser General Public
* License along with this program. If not, see <http://www.gnu.org/licenses/>
*
* Authored by: Jay Taoko <jaytaoko@inalogic.com>
*
*/
#ifndef RANGEVALUE_H
#define RANGEVALUE_H
namespace nux
{
class HLayout;
class EditTextBox;
class RangeValue : public View
{
NUX_DECLARE_OBJECT_TYPE(RangeValue, View);
public:
RangeValue(float Value = 0, float MinValue = 0.0f, float MaxValue = 1.0f, NUX_FILE_LINE_PROTO);
virtual ~RangeValue();
void DrawMarker(GraphicsEngine &graphics_engine);
virtual void Draw(GraphicsEngine &graphics_engine, bool force_draw);
virtual void DrawContent(GraphicsEngine &graphics_engine, bool force_draw);
/////////////////
// RECEIVERS //
/////////////////
void SetRange(float min_value, float max_value);
void SetValue(float value);
float GetValue() const;
float GetMinValue() const
{
return m_min;
}
float GetMaxValue() const
{
return m_max;
}
void SetBackgroundColor(const Color &color);
const Color GetBackgroundColor() const;
void setStartToEndColor(Color color_start, Color color_end)
{
m_StartColor = color_start;
m_EndColor = color_end;
}
void setStartColor(Color color)
{
m_StartColor = color;
}
void setEndColor(Color color)
{
m_EndColor = color;
}
void setProgressColor(Color color)
{
m_ProgressColor = color;
}
void EnableDrawProgress(bool b)
{
m_EnableDrawProgress = b;
}
////////////////
// EMITTERS //
////////////////
void OnReceiveMouseDown(int x, int y, unsigned long button_flags, unsigned long key_flags);
void OnReceiveMouseUp(int x, int y, unsigned long button_flags, unsigned long key_flags);
void OnReceiveMouseDrag(int x, int y, int dx, int dy, unsigned long button_flags, unsigned long key_flags);
void OnKeyboardFocus();
void OnLostKeyboardFocus();
void OnValidateKeyboardEntry(EditTextBox *textbox, const std::string &text);
bool IsCtrlKeyPressed() const
{
return m_CTRL_KEY;
}
// signals
sigc::signal<void, RangeValue *> sigValueChanged;
sigc::signal<void, float> sigFloatChanged;
sigc::signal<void, float> sigMouseDown;
sigc::signal<void, float> sigMouseUp;
sigc::signal<void, float> sigMouseDrag;
sigc::signal<void, float> sigSetTypedValue;
//sigc::signal<void, const char*> sigValidateKeyboarEntry;
void EmitFloatChangedSignal();
protected:
void InitializeWidgets();
void InitializeLayout();
protected:
HLayout *hlayout;
EditTextBox *m_ValueString;
BasicView *m_Percentage;
Color m_StartColor;
Color m_EndColor;
Color m_ProgressColor;
Color m_BackgroundColor;
bool m_EnableDrawProgress;
long m_CTRL_KEY;
float m_Value;
float m_min, m_max;
};
}
#endif // RANGEVALUE_H
|