1///////////////////////////////////////////////////////////////////////////////
2// Name:        wx/cocoa/NSScroller.h
3// Purpose:     wxCocoaNSScroller class
4// Author:      David Elliott
5// Modified by:
6// Created:     2004/04/27
7// RCS-ID:      $Id: NSScroller.h 38031 2006-03-12 15:10:23Z VZ $
8// Copyright:   (c) 2004 David Elliott
9// Licence:     wxWindows licence
10///////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_COCOA_NSSCROLLER_H__
13#define _WX_COCOA_NSSCROLLER_H__
14
15#include "wx/hashmap.h"
16#include "wx/cocoa/ObjcAssociate.h"
17#include "wx/cocoa/ObjcRef.h"
18
19DECLARE_WXCOCOA_OBJC_CLASS(NSScroller);
20
21WX_DECLARE_OBJC_HASHMAP(NSScroller);
22
23class wxCocoaNSScroller
24{
25    WX_DECLARE_OBJC_INTERFACE_HASHMAP(NSScroller);
26public:
27    void AssociateNSScroller(WX_NSScroller cocoaNSScroller);
28    void DisassociateNSScroller(WX_NSScroller cocoaNSScroller)
29    {
30        if(cocoaNSScroller)
31            sm_cocoaHash.erase(cocoaNSScroller);
32    }
33
34    virtual void Cocoa_wxNSScrollerAction(void) = 0;
35    virtual ~wxCocoaNSScroller() { }
36
37protected:
38    static const wxObjcAutoRefFromAlloc<struct objc_object*> sm_cocoaTarget;
39};
40
41#endif // _WX_COCOA_NSSCROLLER_H__
42