#ifndef VGUI_HEADERPANEL_H #define VGUI_HEADERPANEL_H #include #include #include #include namespace vgui { enum MouseCode; class ChangeSignal; class VGUIAPI HeaderPanel : public Panel { private: Dar _sliderPanelDar; Dar _sectionPanelDar; Dar _changeSignalDar; Panel* _sectionLayer; int _sliderWide; bool _dragging; int _dragSliderIndex; int _dragSliderStartPos; int _dragSliderStartX; public: HeaderPanel(int x,int y,int wide,int tall); protected: virtual void performLayout(); public: virtual void addSectionPanel(Panel* panel); virtual void setSliderPos(int sliderIndex,int pos); virtual int getSectionCount(); virtual void getSectionExtents(int sectionIndex,int& x0,int& x1); virtual void addChangeSignal(ChangeSignal* s); public: //bullshit public virtual void fireChangeSignal(); virtual void privateCursorMoved(int x,int y,Panel* panel); virtual void privateMousePressed(MouseCode code,Panel* panel); virtual void privateMouseReleased(MouseCode code,Panel* panel); }; } #endif