wxCocoa: Added wxScrollBar
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27967 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
39
include/wx/cocoa/NSScroller.h
Normal file
39
include/wx/cocoa/NSScroller.h
Normal file
@@ -0,0 +1,39 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/cocoa/NSScroller.h
|
||||
// Purpose: wxCocoaNSScroller class
|
||||
// Author: David Elliott
|
||||
// Modified by:
|
||||
// Created: 2004/04/27
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2004 David Elliott
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_COCOA_NSSCROLLER_H__
|
||||
#define _WX_COCOA_NSSCROLLER_H__
|
||||
|
||||
#include "wx/hashmap.h"
|
||||
#include "wx/cocoa/ObjcAssociate.h"
|
||||
#include "wx/cocoa/ObjcRef.h"
|
||||
|
||||
DECLARE_WXCOCOA_OBJC_CLASS(NSScroller);
|
||||
|
||||
WX_DECLARE_OBJC_HASHMAP(NSScroller);
|
||||
|
||||
class wxCocoaNSScroller
|
||||
{
|
||||
WX_DECLARE_OBJC_INTERFACE_HASHMAP(NSScroller);
|
||||
public:
|
||||
void AssociateNSScroller(WX_NSScroller cocoaNSScroller);
|
||||
inline void DisassociateNSScroller(WX_NSScroller cocoaNSScroller)
|
||||
{
|
||||
if(cocoaNSScroller)
|
||||
sm_cocoaHash.erase(cocoaNSScroller);
|
||||
}
|
||||
|
||||
virtual void Cocoa_wxNSScrollerAction(void) = 0;
|
||||
protected:
|
||||
static const wxObjcAutoRefFromAlloc<struct objc_object*> sm_cocoaTarget;
|
||||
};
|
||||
|
||||
#endif // _WX_COCOA_NSSCROLLER_H__
|
74
include/wx/cocoa/scrolbar.h
Normal file
74
include/wx/cocoa/scrolbar.h
Normal file
@@ -0,0 +1,74 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/cocoa/scrolbar.h
|
||||
// Purpose: wxScrollBar class
|
||||
// Author: David Elliott
|
||||
// Modified by:
|
||||
// Created: 2004/04/25
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2004 David Elliott
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_COCOA_SCROLBAR_H__
|
||||
#define _WX_COCOA_SCROLBAR_H__
|
||||
|
||||
#include "wx/cocoa/NSScroller.h"
|
||||
|
||||
// ========================================================================
|
||||
// wxScrollBar
|
||||
// ========================================================================
|
||||
class WXDLLEXPORT wxScrollBar: public wxScrollBarBase, protected wxCocoaNSScroller
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(wxScrollBar)
|
||||
DECLARE_EVENT_TABLE()
|
||||
WX_DECLARE_COCOA_OWNER(NSScroller,NSControl,NSView)
|
||||
// ------------------------------------------------------------------------
|
||||
// initialization
|
||||
// ------------------------------------------------------------------------
|
||||
public:
|
||||
wxScrollBar() { }
|
||||
wxScrollBar(wxWindow *parent, wxWindowID winid,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = wxSL_HORIZONTAL,
|
||||
const wxValidator& validator = wxDefaultValidator,
|
||||
const wxString& name = wxScrollBarNameStr)
|
||||
{
|
||||
Create(parent, winid, pos, size, style, validator, name);
|
||||
}
|
||||
|
||||
bool Create(wxWindow *parent, wxWindowID winid,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = wxSL_HORIZONTAL,
|
||||
const wxValidator& validator = wxDefaultValidator,
|
||||
const wxString& name = wxScrollBarNameStr);
|
||||
virtual ~wxScrollBar();
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// Cocoa callbacks
|
||||
// ------------------------------------------------------------------------
|
||||
protected:
|
||||
virtual void Cocoa_wxNSScrollerAction(void);
|
||||
// ------------------------------------------------------------------------
|
||||
// Implementation
|
||||
// ------------------------------------------------------------------------
|
||||
public:
|
||||
// accessors
|
||||
virtual int GetThumbPosition() const;
|
||||
virtual int GetThumbSize() const { return m_thumbSize; }
|
||||
virtual int GetPageSize() const { return m_pageSize; }
|
||||
virtual int GetRange() const { return m_range; }
|
||||
|
||||
// operations
|
||||
virtual void SetThumbPosition(int viewStart);
|
||||
virtual void SetScrollbar(int position, int thumbSize,
|
||||
int range, int pageSize,
|
||||
bool refresh = TRUE);
|
||||
protected:
|
||||
int m_range;
|
||||
int m_thumbSize;
|
||||
int m_pageSize;
|
||||
};
|
||||
|
||||
#endif // _WX_COCOA_SCROLBAR_H__
|
Reference in New Issue
Block a user