halflife-photomode/game_shared/vgui_scrollbar2.h

60 lines
1.5 KiB
C++

//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================
#pragma once
#include <VGUI.h>
#include <VGUI_Panel.h>
#include <VGUI_Dar.h>
namespace vgui
{
class IntChangeSignal;
class Button;
class Slider2;
//-----------------------------------------------------------------------------
// Purpose: Hacked up version of the vgui scrollbar
//-----------------------------------------------------------------------------
class VGUIAPI ScrollBar2 : public Panel
{
public:
ScrollBar2(int x, int y, int wide, int tall, bool vertical);
public:
virtual void setValue(int value);
virtual int getValue();
virtual void addIntChangeSignal(IntChangeSignal* s);
virtual void setRange(int min, int max);
virtual void setRangeWindow(int rangeWindow);
virtual void setRangeWindowEnabled(bool state);
void setSize(int wide, int tall) override;
virtual bool isVertical();
virtual bool hasFullRange();
virtual void setButton(Button* button, int index);
virtual Button* getButton(int index);
virtual void setSlider(Slider2* slider);
virtual Slider2* getSlider();
virtual void doButtonPressed(int buttonIndex);
virtual void setButtonPressedScrollValue(int value);
virtual void validate();
public: //bullshit public
virtual void fireIntChangeSignal();
protected:
void performLayout() override;
protected:
Button* _button[2];
Slider2* _slider;
Dar<IntChangeSignal*> _intChangeSignalDar;
int _buttonPressedScrollValue;
};
}