88 lines
2.5 KiB
C++
88 lines
2.5 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/scrolbar.h
|
|
// Purpose: wxScrollBar base header
|
|
// Author: Julian Smart
|
|
// Modified by:
|
|
// Created:
|
|
// Copyright: (c) Julian Smart
|
|
// RCS-ID: $Id: scrolbar.h 67254 2011-03-20 00:14:35Z DS $
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_SCROLBAR_H_BASE_
|
|
#define _WX_SCROLBAR_H_BASE_
|
|
|
|
#include "wx/defs.h"
|
|
|
|
#if wxUSE_SCROLLBAR
|
|
|
|
#include "wx/control.h"
|
|
|
|
extern WXDLLIMPEXP_DATA_CORE(const char) wxScrollBarNameStr[];
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// wxScrollBar: a scroll bar control
|
|
// ----------------------------------------------------------------------------
|
|
|
|
class WXDLLIMPEXP_CORE wxScrollBarBase : public wxControl
|
|
{
|
|
public:
|
|
wxScrollBarBase() { }
|
|
|
|
/*
|
|
Derived classes should provide the following method and ctor with the
|
|
same parameters:
|
|
|
|
bool Create(wxWindow *parent,
|
|
wxWindowID id,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
long style = wxSB_HORIZONTAL,
|
|
const wxValidator& validator = wxDefaultValidator,
|
|
const wxString& name = wxScrollBarNameStr);
|
|
*/
|
|
|
|
// accessors
|
|
virtual int GetThumbPosition() const = 0;
|
|
virtual int GetThumbSize() const = 0;
|
|
virtual int GetPageSize() const = 0;
|
|
virtual int GetRange() const = 0;
|
|
|
|
bool IsVertical() const { return (m_windowStyle & wxVERTICAL) != 0; }
|
|
|
|
// operations
|
|
virtual void SetThumbPosition(int viewStart) = 0;
|
|
virtual void SetScrollbar(int position, int thumbSize,
|
|
int range, int pageSize,
|
|
bool refresh = true) = 0;
|
|
|
|
// implementation-only
|
|
bool IsNeeded() const { return GetRange() > GetThumbSize(); }
|
|
|
|
private:
|
|
wxDECLARE_NO_COPY_CLASS(wxScrollBarBase);
|
|
};
|
|
|
|
#if defined(__WXUNIVERSAL__)
|
|
#include "wx/univ/scrolbar.h"
|
|
#elif defined(__WXMSW__)
|
|
#include "wx/msw/scrolbar.h"
|
|
#elif defined(__WXMOTIF__)
|
|
#include "wx/motif/scrolbar.h"
|
|
#elif defined(__WXGTK20__)
|
|
#include "wx/gtk/scrolbar.h"
|
|
#elif defined(__WXGTK__)
|
|
#include "wx/gtk1/scrolbar.h"
|
|
#elif defined(__WXMAC__)
|
|
#include "wx/osx/scrolbar.h"
|
|
#elif defined(__WXCOCOA__)
|
|
#include "wx/cocoa/scrolbar.h"
|
|
#elif defined(__WXPM__)
|
|
#include "wx/os2/scrolbar.h"
|
|
#endif
|
|
|
|
#endif // wxUSE_SCROLLBAR
|
|
|
|
#endif
|
|
// _WX_SCROLBAR_H_BASE_
|