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:
34
Makefile.in
34
Makefile.in
@@ -1181,6 +1181,7 @@ COND_TOOLKIT_COCOA_GUI_HDR = \
|
|||||||
wx/cocoa/NSControl.h \
|
wx/cocoa/NSControl.h \
|
||||||
wx/cocoa/NSMenu.h \
|
wx/cocoa/NSMenu.h \
|
||||||
wx/cocoa/NSPanel.h \
|
wx/cocoa/NSPanel.h \
|
||||||
|
wx/cocoa/NSScroller.h \
|
||||||
wx/cocoa/NSTabView.h \
|
wx/cocoa/NSTabView.h \
|
||||||
wx/cocoa/NSTableView.h \
|
wx/cocoa/NSTableView.h \
|
||||||
wx/cocoa/NSTextField.h \
|
wx/cocoa/NSTextField.h \
|
||||||
@@ -1226,6 +1227,7 @@ COND_TOOLKIT_COCOA_GUI_HDR = \
|
|||||||
wx/cocoa/radiobox.h \
|
wx/cocoa/radiobox.h \
|
||||||
wx/cocoa/radiobut.h \
|
wx/cocoa/radiobut.h \
|
||||||
wx/cocoa/region.h \
|
wx/cocoa/region.h \
|
||||||
|
wx/cocoa/scrolbar.h \
|
||||||
wx/cocoa/slider.h \
|
wx/cocoa/slider.h \
|
||||||
wx/cocoa/spinbutt.h \
|
wx/cocoa/spinbutt.h \
|
||||||
wx/cocoa/statbmp.h \
|
wx/cocoa/statbmp.h \
|
||||||
@@ -2571,6 +2573,7 @@ COND_TOOLKIT_COCOA___GUI_SRC_OBJECTS = \
|
|||||||
monodll_NSControl.o \
|
monodll_NSControl.o \
|
||||||
monodll_NSMenu.o \
|
monodll_NSMenu.o \
|
||||||
monodll_NSPanel.o \
|
monodll_NSPanel.o \
|
||||||
|
monodll_NSScroller.o \
|
||||||
monodll_NSTabView.o \
|
monodll_NSTabView.o \
|
||||||
monodll_NSTableView.o \
|
monodll_NSTableView.o \
|
||||||
monodll_NSTextField.o \
|
monodll_NSTextField.o \
|
||||||
@@ -2616,6 +2619,7 @@ COND_TOOLKIT_COCOA___GUI_SRC_OBJECTS = \
|
|||||||
monodll_radiobox.o \
|
monodll_radiobox.o \
|
||||||
monodll_radiobut.o \
|
monodll_radiobut.o \
|
||||||
monodll_region.o \
|
monodll_region.o \
|
||||||
|
monodll_scrolbar.o \
|
||||||
monodll_settings.o \
|
monodll_settings.o \
|
||||||
monodll_slider.o \
|
monodll_slider.o \
|
||||||
monodll_spinbutt.o \
|
monodll_spinbutt.o \
|
||||||
@@ -3431,6 +3435,7 @@ COND_TOOLKIT_COCOA___GUI_SRC_OBJECTS_1 = \
|
|||||||
monolib_NSControl.o \
|
monolib_NSControl.o \
|
||||||
monolib_NSMenu.o \
|
monolib_NSMenu.o \
|
||||||
monolib_NSPanel.o \
|
monolib_NSPanel.o \
|
||||||
|
monolib_NSScroller.o \
|
||||||
monolib_NSTabView.o \
|
monolib_NSTabView.o \
|
||||||
monolib_NSTableView.o \
|
monolib_NSTableView.o \
|
||||||
monolib_NSTextField.o \
|
monolib_NSTextField.o \
|
||||||
@@ -3476,6 +3481,7 @@ COND_TOOLKIT_COCOA___GUI_SRC_OBJECTS_1 = \
|
|||||||
monolib_radiobox.o \
|
monolib_radiobox.o \
|
||||||
monolib_radiobut.o \
|
monolib_radiobut.o \
|
||||||
monolib_region.o \
|
monolib_region.o \
|
||||||
|
monolib_scrolbar.o \
|
||||||
monolib_settings.o \
|
monolib_settings.o \
|
||||||
monolib_slider.o \
|
monolib_slider.o \
|
||||||
monolib_spinbutt.o \
|
monolib_spinbutt.o \
|
||||||
@@ -4463,6 +4469,7 @@ COND_TOOLKIT_COCOA___GUI_SRC_OBJECTS_2 = \
|
|||||||
coredll_NSControl.o \
|
coredll_NSControl.o \
|
||||||
coredll_NSMenu.o \
|
coredll_NSMenu.o \
|
||||||
coredll_NSPanel.o \
|
coredll_NSPanel.o \
|
||||||
|
coredll_NSScroller.o \
|
||||||
coredll_NSTabView.o \
|
coredll_NSTabView.o \
|
||||||
coredll_NSTableView.o \
|
coredll_NSTableView.o \
|
||||||
coredll_NSTextField.o \
|
coredll_NSTextField.o \
|
||||||
@@ -4508,6 +4515,7 @@ COND_TOOLKIT_COCOA___GUI_SRC_OBJECTS_2 = \
|
|||||||
coredll_radiobox.o \
|
coredll_radiobox.o \
|
||||||
coredll_radiobut.o \
|
coredll_radiobut.o \
|
||||||
coredll_region.o \
|
coredll_region.o \
|
||||||
|
coredll_scrolbar.o \
|
||||||
coredll_settings.o \
|
coredll_settings.o \
|
||||||
coredll_slider.o \
|
coredll_slider.o \
|
||||||
coredll_spinbutt.o \
|
coredll_spinbutt.o \
|
||||||
@@ -5190,6 +5198,7 @@ COND_TOOLKIT_COCOA___GUI_SRC_OBJECTS_3 = \
|
|||||||
corelib_NSControl.o \
|
corelib_NSControl.o \
|
||||||
corelib_NSMenu.o \
|
corelib_NSMenu.o \
|
||||||
corelib_NSPanel.o \
|
corelib_NSPanel.o \
|
||||||
|
corelib_NSScroller.o \
|
||||||
corelib_NSTabView.o \
|
corelib_NSTabView.o \
|
||||||
corelib_NSTableView.o \
|
corelib_NSTableView.o \
|
||||||
corelib_NSTextField.o \
|
corelib_NSTextField.o \
|
||||||
@@ -5235,6 +5244,7 @@ COND_TOOLKIT_COCOA___GUI_SRC_OBJECTS_3 = \
|
|||||||
corelib_radiobox.o \
|
corelib_radiobox.o \
|
||||||
corelib_radiobut.o \
|
corelib_radiobut.o \
|
||||||
corelib_region.o \
|
corelib_region.o \
|
||||||
|
corelib_scrolbar.o \
|
||||||
corelib_settings.o \
|
corelib_settings.o \
|
||||||
corelib_slider.o \
|
corelib_slider.o \
|
||||||
corelib_spinbutt.o \
|
corelib_spinbutt.o \
|
||||||
@@ -8147,6 +8157,9 @@ monodll_NSMenu.o: $(srcdir)/src/cocoa/NSMenu.mm $(MONODLL_ODEP)
|
|||||||
monodll_NSPanel.o: $(srcdir)/src/cocoa/NSPanel.mm $(MONODLL_ODEP)
|
monodll_NSPanel.o: $(srcdir)/src/cocoa/NSPanel.mm $(MONODLL_ODEP)
|
||||||
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $<
|
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $<
|
||||||
|
|
||||||
|
monodll_NSScroller.o: $(srcdir)/src/cocoa/NSScroller.mm $(MONODLL_ODEP)
|
||||||
|
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $<
|
||||||
|
|
||||||
monodll_NSTabView.o: $(srcdir)/src/cocoa/NSTabView.mm $(MONODLL_ODEP)
|
monodll_NSTabView.o: $(srcdir)/src/cocoa/NSTabView.mm $(MONODLL_ODEP)
|
||||||
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $<
|
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $<
|
||||||
|
|
||||||
@@ -10064,6 +10077,9 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
|
|||||||
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@monodll_scrolbar.o: $(srcdir)/src/mac/carbon/scrolbar.cpp $(MONODLL_ODEP)
|
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@monodll_scrolbar.o: $(srcdir)/src/mac/carbon/scrolbar.cpp $(MONODLL_ODEP)
|
||||||
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $<
|
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $<
|
||||||
|
|
||||||
|
@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@monodll_scrolbar.o: $(srcdir)/src/cocoa/scrolbar.mm $(MONODLL_ODEP)
|
||||||
|
@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $<
|
||||||
|
|
||||||
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@monodll_scrolbar.o: $(srcdir)/src/os2/scrolbar.cpp $(MONODLL_ODEP)
|
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@monodll_scrolbar.o: $(srcdir)/src/os2/scrolbar.cpp $(MONODLL_ODEP)
|
||||||
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $<
|
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $<
|
||||||
|
|
||||||
@@ -11090,6 +11106,9 @@ monolib_NSMenu.o: $(srcdir)/src/cocoa/NSMenu.mm $(MONOLIB_ODEP)
|
|||||||
monolib_NSPanel.o: $(srcdir)/src/cocoa/NSPanel.mm $(MONOLIB_ODEP)
|
monolib_NSPanel.o: $(srcdir)/src/cocoa/NSPanel.mm $(MONOLIB_ODEP)
|
||||||
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $<
|
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $<
|
||||||
|
|
||||||
|
monolib_NSScroller.o: $(srcdir)/src/cocoa/NSScroller.mm $(MONOLIB_ODEP)
|
||||||
|
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $<
|
||||||
|
|
||||||
monolib_NSTabView.o: $(srcdir)/src/cocoa/NSTabView.mm $(MONOLIB_ODEP)
|
monolib_NSTabView.o: $(srcdir)/src/cocoa/NSTabView.mm $(MONOLIB_ODEP)
|
||||||
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $<
|
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $<
|
||||||
|
|
||||||
@@ -13007,6 +13026,9 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
|
|||||||
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@monolib_scrolbar.o: $(srcdir)/src/mac/carbon/scrolbar.cpp $(MONOLIB_ODEP)
|
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@monolib_scrolbar.o: $(srcdir)/src/mac/carbon/scrolbar.cpp $(MONOLIB_ODEP)
|
||||||
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $<
|
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $<
|
||||||
|
|
||||||
|
@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@monolib_scrolbar.o: $(srcdir)/src/cocoa/scrolbar.mm $(MONOLIB_ODEP)
|
||||||
|
@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $<
|
||||||
|
|
||||||
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@monolib_scrolbar.o: $(srcdir)/src/os2/scrolbar.cpp $(MONOLIB_ODEP)
|
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@monolib_scrolbar.o: $(srcdir)/src/os2/scrolbar.cpp $(MONOLIB_ODEP)
|
||||||
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $<
|
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $<
|
||||||
|
|
||||||
@@ -14519,6 +14541,9 @@ coredll_NSMenu.o: $(srcdir)/src/cocoa/NSMenu.mm $(COREDLL_ODEP)
|
|||||||
coredll_NSPanel.o: $(srcdir)/src/cocoa/NSPanel.mm $(COREDLL_ODEP)
|
coredll_NSPanel.o: $(srcdir)/src/cocoa/NSPanel.mm $(COREDLL_ODEP)
|
||||||
$(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $<
|
$(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $<
|
||||||
|
|
||||||
|
coredll_NSScroller.o: $(srcdir)/src/cocoa/NSScroller.mm $(COREDLL_ODEP)
|
||||||
|
$(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $<
|
||||||
|
|
||||||
coredll_NSTabView.o: $(srcdir)/src/cocoa/NSTabView.mm $(COREDLL_ODEP)
|
coredll_NSTabView.o: $(srcdir)/src/cocoa/NSTabView.mm $(COREDLL_ODEP)
|
||||||
$(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $<
|
$(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $<
|
||||||
|
|
||||||
@@ -16217,6 +16242,9 @@ coredll_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(COREDLL_ODEP)
|
|||||||
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@coredll_scrolbar.o: $(srcdir)/src/mac/carbon/scrolbar.cpp $(COREDLL_ODEP)
|
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@coredll_scrolbar.o: $(srcdir)/src/mac/carbon/scrolbar.cpp $(COREDLL_ODEP)
|
||||||
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $<
|
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $<
|
||||||
|
|
||||||
|
@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@coredll_scrolbar.o: $(srcdir)/src/cocoa/scrolbar.mm $(COREDLL_ODEP)
|
||||||
|
@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $<
|
||||||
|
|
||||||
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@coredll_scrolbar.o: $(srcdir)/src/os2/scrolbar.cpp $(COREDLL_ODEP)
|
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@coredll_scrolbar.o: $(srcdir)/src/os2/scrolbar.cpp $(COREDLL_ODEP)
|
||||||
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $<
|
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $<
|
||||||
|
|
||||||
@@ -16949,6 +16977,9 @@ corelib_NSMenu.o: $(srcdir)/src/cocoa/NSMenu.mm $(CORELIB_ODEP)
|
|||||||
corelib_NSPanel.o: $(srcdir)/src/cocoa/NSPanel.mm $(CORELIB_ODEP)
|
corelib_NSPanel.o: $(srcdir)/src/cocoa/NSPanel.mm $(CORELIB_ODEP)
|
||||||
$(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $<
|
$(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $<
|
||||||
|
|
||||||
|
corelib_NSScroller.o: $(srcdir)/src/cocoa/NSScroller.mm $(CORELIB_ODEP)
|
||||||
|
$(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $<
|
||||||
|
|
||||||
corelib_NSTabView.o: $(srcdir)/src/cocoa/NSTabView.mm $(CORELIB_ODEP)
|
corelib_NSTabView.o: $(srcdir)/src/cocoa/NSTabView.mm $(CORELIB_ODEP)
|
||||||
$(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $<
|
$(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $<
|
||||||
|
|
||||||
@@ -18647,6 +18678,9 @@ corelib_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(CORELIB_ODEP)
|
|||||||
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@corelib_scrolbar.o: $(srcdir)/src/mac/carbon/scrolbar.cpp $(CORELIB_ODEP)
|
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@corelib_scrolbar.o: $(srcdir)/src/mac/carbon/scrolbar.cpp $(CORELIB_ODEP)
|
||||||
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $<
|
@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $<
|
||||||
|
|
||||||
|
@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@corelib_scrolbar.o: $(srcdir)/src/cocoa/scrolbar.mm $(CORELIB_ODEP)
|
||||||
|
@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $<
|
||||||
|
|
||||||
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@corelib_scrolbar.o: $(srcdir)/src/os2/scrolbar.cpp $(CORELIB_ODEP)
|
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@corelib_scrolbar.o: $(srcdir)/src/os2/scrolbar.cpp $(CORELIB_ODEP)
|
||||||
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $<
|
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $<
|
||||||
|
|
||||||
|
@@ -1851,6 +1851,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
|||||||
src/cocoa/NSControl.mm
|
src/cocoa/NSControl.mm
|
||||||
src/cocoa/NSMenu.mm
|
src/cocoa/NSMenu.mm
|
||||||
src/cocoa/NSPanel.mm
|
src/cocoa/NSPanel.mm
|
||||||
|
src/cocoa/NSScroller.mm
|
||||||
src/cocoa/NSTabView.mm
|
src/cocoa/NSTabView.mm
|
||||||
src/cocoa/NSTableView.mm
|
src/cocoa/NSTableView.mm
|
||||||
src/cocoa/NSTextField.mm
|
src/cocoa/NSTextField.mm
|
||||||
@@ -1896,6 +1897,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
|||||||
src/cocoa/radiobox.mm
|
src/cocoa/radiobox.mm
|
||||||
src/cocoa/radiobut.mm
|
src/cocoa/radiobut.mm
|
||||||
src/cocoa/region.mm
|
src/cocoa/region.mm
|
||||||
|
src/cocoa/scrolbar.mm
|
||||||
src/cocoa/settings.cpp
|
src/cocoa/settings.cpp
|
||||||
src/cocoa/slider.mm
|
src/cocoa/slider.mm
|
||||||
src/cocoa/spinbutt.mm
|
src/cocoa/spinbutt.mm
|
||||||
@@ -1935,6 +1937,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
|||||||
wx/cocoa/NSControl.h
|
wx/cocoa/NSControl.h
|
||||||
wx/cocoa/NSMenu.h
|
wx/cocoa/NSMenu.h
|
||||||
wx/cocoa/NSPanel.h
|
wx/cocoa/NSPanel.h
|
||||||
|
wx/cocoa/NSScroller.h
|
||||||
wx/cocoa/NSTabView.h
|
wx/cocoa/NSTabView.h
|
||||||
wx/cocoa/NSTableView.h
|
wx/cocoa/NSTableView.h
|
||||||
wx/cocoa/NSTextField.h
|
wx/cocoa/NSTextField.h
|
||||||
@@ -1980,6 +1983,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
|||||||
wx/cocoa/radiobox.h
|
wx/cocoa/radiobox.h
|
||||||
wx/cocoa/radiobut.h
|
wx/cocoa/radiobut.h
|
||||||
wx/cocoa/region.h
|
wx/cocoa/region.h
|
||||||
|
wx/cocoa/scrolbar.h
|
||||||
wx/cocoa/slider.h
|
wx/cocoa/slider.h
|
||||||
wx/cocoa/spinbutt.h
|
wx/cocoa/spinbutt.h
|
||||||
wx/cocoa/statbmp.h
|
wx/cocoa/statbmp.h
|
||||||
|
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__
|
@@ -53,6 +53,8 @@ private:
|
|||||||
#include "wx/gtk/scrolbar.h"
|
#include "wx/gtk/scrolbar.h"
|
||||||
#elif defined(__WXMAC__)
|
#elif defined(__WXMAC__)
|
||||||
#include "wx/mac/scrolbar.h"
|
#include "wx/mac/scrolbar.h"
|
||||||
|
#elif defined(__WXCOCOA__)
|
||||||
|
#include "wx/cocoa/scrolbar.h"
|
||||||
#elif defined(__WXPM__)
|
#elif defined(__WXPM__)
|
||||||
#include "wx/os2/scrolbar.h"
|
#include "wx/os2/scrolbar.h"
|
||||||
#endif
|
#endif
|
||||||
|
56
src/cocoa/NSScroller.mm
Normal file
56
src/cocoa/NSScroller.mm
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: cocoa/NSScroller.mm
|
||||||
|
// Purpose: wxCocoaNSScroller
|
||||||
|
// Author: David Elliott
|
||||||
|
// Modified by:
|
||||||
|
// Created: 2004/04/27
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) 2004 David Elliott
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "wx/wxprec.h"
|
||||||
|
#ifndef WX_PRECOMP
|
||||||
|
#include "wx/log.h"
|
||||||
|
#endif // WX_PRECOMP
|
||||||
|
|
||||||
|
#include "wx/cocoa/NSScroller.h"
|
||||||
|
#import <AppKit/NSScroller.h>
|
||||||
|
|
||||||
|
WX_IMPLEMENT_OBJC_INTERFACE_HASHMAP(NSScroller)
|
||||||
|
|
||||||
|
// ============================================================================
|
||||||
|
// @class wxNSScrollerTarget
|
||||||
|
// ============================================================================
|
||||||
|
@interface wxNSScrollerTarget : NSObject
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)wxNSScrollerAction: (id)sender;
|
||||||
|
@end // wxNSScrollerTarget
|
||||||
|
|
||||||
|
@implementation wxNSScrollerTarget : NSObject
|
||||||
|
- (void)wxNSScrollerAction: (id)sender
|
||||||
|
{
|
||||||
|
wxCocoaNSScroller *scroller = wxCocoaNSScroller::GetFromCocoa(sender);
|
||||||
|
wxCHECK_RET(scroller,wxT("wxNSScrollerAction received without associated wx object"));
|
||||||
|
scroller->Cocoa_wxNSScrollerAction();
|
||||||
|
}
|
||||||
|
|
||||||
|
@end // implementation wxNSScrollerTarget
|
||||||
|
|
||||||
|
// ============================================================================
|
||||||
|
// class wxCocoaNSScroller
|
||||||
|
// ============================================================================
|
||||||
|
const wxObjcAutoRefFromAlloc<struct objc_object*> wxCocoaNSScroller::sm_cocoaTarget = [[wxNSScrollerTarget alloc] init];
|
||||||
|
|
||||||
|
void wxCocoaNSScroller::AssociateNSScroller(WX_NSScroller cocoaNSScroller)
|
||||||
|
{
|
||||||
|
if(cocoaNSScroller)
|
||||||
|
{
|
||||||
|
sm_cocoaHash.insert(wxCocoaNSScrollerHash::value_type(cocoaNSScroller,this));
|
||||||
|
[cocoaNSScroller setTarget: sm_cocoaTarget];
|
||||||
|
[cocoaNSScroller setAction: @selector(wxNSScrollerAction:)];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
134
src/cocoa/scrolbar.mm
Normal file
134
src/cocoa/scrolbar.mm
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: cocoa/scrolbar.mm
|
||||||
|
// Purpose: wxScrollBar
|
||||||
|
// Author: David Elliott
|
||||||
|
// Modified by:
|
||||||
|
// Created: 2004/04/25
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) 2004 David Elliott
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "wx/wxprec.h"
|
||||||
|
#if wxUSE_SCROLLBAR
|
||||||
|
|
||||||
|
#ifndef WX_PRECOMP
|
||||||
|
#include "wx/app.h"
|
||||||
|
#include "wx/scrolbar.h"
|
||||||
|
#endif //WX_PRECOMP
|
||||||
|
|
||||||
|
#import <AppKit/NSScroller.h>
|
||||||
|
|
||||||
|
IMPLEMENT_DYNAMIC_CLASS(wxScrollBar, wxControl)
|
||||||
|
BEGIN_EVENT_TABLE(wxScrollBar, wxScrollBarBase)
|
||||||
|
END_EVENT_TABLE()
|
||||||
|
WX_IMPLEMENT_COCOA_OWNER(wxScrollBar,NSScroller,NSControl,NSView)
|
||||||
|
|
||||||
|
bool wxScrollBar::Create(wxWindow *parent, wxWindowID winid,
|
||||||
|
const wxPoint& pos, const wxSize& size, long style,
|
||||||
|
const wxValidator& validator, const wxString& name)
|
||||||
|
{
|
||||||
|
if(!CreateControl(parent,winid,pos,size,style,validator,name))
|
||||||
|
return false;
|
||||||
|
SetNSScroller([[NSScroller alloc] initWithFrame: MakeDefaultNSRect(size)]);
|
||||||
|
[m_cocoaNSView release];
|
||||||
|
if(m_parent)
|
||||||
|
m_parent->CocoaAddChild(this);
|
||||||
|
SetInitialFrameRect(pos,size);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
wxScrollBar::~wxScrollBar()
|
||||||
|
{
|
||||||
|
DisassociateNSScroller(GetNSScroller());
|
||||||
|
}
|
||||||
|
|
||||||
|
/* A word about NSScroller vs. wxScrollbar:
|
||||||
|
|
||||||
|
NSScroller uses two float values to represent the state of the scroller.
|
||||||
|
The floatValue indicates where the knob is positioned on a scale from
|
||||||
|
0.0 to 1.0. A value of 0.0 indicates the scroller is at the top or left,
|
||||||
|
a value of 1.0 indicates the scroller is at the bottom or right. A value
|
||||||
|
of 0.5 indicates the scroller is dead center.
|
||||||
|
|
||||||
|
wxScrollBar uses three values. The position indicates the number of
|
||||||
|
scroll units where 0 is at the top or left. The range indicates how
|
||||||
|
many scroll units there are in the entire bar and the thumb size indicates
|
||||||
|
how many scroll units the thumb takes. The scrollbar is at the bottom
|
||||||
|
or right when position == range - thumbSize.
|
||||||
|
|
||||||
|
It may be easier to consider wx position to be the top or left of the thumb.
|
||||||
|
In Cocoa, floatValue can be considered as if it were the center of the
|
||||||
|
thumb and the range is ALWAYS (no matter what the knobProportion is) the
|
||||||
|
distance between the center point of the knob from one extreme to the other.
|
||||||
|
*/
|
||||||
|
|
||||||
|
int wxScrollBar::GetThumbPosition() const
|
||||||
|
{
|
||||||
|
return (int)((m_range-m_thumbSize)*[GetNSScroller() floatValue]);
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxScrollBar::SetThumbPosition(int position)
|
||||||
|
{
|
||||||
|
[GetNSScroller() setFloatValue:((float)position)/(m_range-m_thumbSize)];
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxScrollBar::SetScrollbar(int position, int thumbSize,
|
||||||
|
int range, int pageSize, bool refresh)
|
||||||
|
{
|
||||||
|
m_range = range;
|
||||||
|
m_thumbSize = thumbSize;
|
||||||
|
m_pageSize = pageSize;
|
||||||
|
[GetNSScroller() setFloatValue:((float)position)/(m_range-m_thumbSize)
|
||||||
|
knobProportion:((float)m_thumbSize)/m_range];
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxScrollBar::Cocoa_wxNSScrollerAction()
|
||||||
|
{
|
||||||
|
NSScrollerPart hitPart = [GetNSScroller() hitPart];
|
||||||
|
wxEventType command;
|
||||||
|
// Note: the comments about the part that is hit are for OS X, the
|
||||||
|
// constants are sort of a leftover from NeXT. It makes more sense if
|
||||||
|
// you remember that in NeXT clicking the knob slot used to do what
|
||||||
|
// option-clicking does now.
|
||||||
|
switch(hitPart)
|
||||||
|
{
|
||||||
|
// User dragged knob
|
||||||
|
case NSScrollerKnob:
|
||||||
|
command = wxEVT_SCROLL_THUMBTRACK;
|
||||||
|
break;
|
||||||
|
// User option-clicked slot
|
||||||
|
case NSScrollerKnobSlot:
|
||||||
|
command = wxEVT_SCROLL_THUMBTRACK;
|
||||||
|
break;
|
||||||
|
// User clicked Up/Left button
|
||||||
|
case NSScrollerDecrementLine:
|
||||||
|
command = wxEVT_SCROLL_LINEUP;
|
||||||
|
break;
|
||||||
|
// User option-clicked Up/left or clicked in slot
|
||||||
|
case NSScrollerDecrementPage:
|
||||||
|
command = wxEVT_SCROLL_PAGEUP;
|
||||||
|
break;
|
||||||
|
// User clicked Down/Right button
|
||||||
|
case NSScrollerIncrementLine:
|
||||||
|
command = wxEVT_SCROLL_LINEDOWN;
|
||||||
|
break;
|
||||||
|
// User option-clicked Down/Right or clicked in slot
|
||||||
|
case NSScrollerIncrementPage:
|
||||||
|
command = wxEVT_SCROLL_PAGEDOWN;
|
||||||
|
break;
|
||||||
|
// No-op
|
||||||
|
case NSScrollerNoPart:
|
||||||
|
default:
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// TODO: When scrolling by pages, readjust the floatValue using the
|
||||||
|
// pageSize (which may be different from thumbSize).
|
||||||
|
wxScrollEvent event(command, GetId(), GetThumbPosition(),
|
||||||
|
HasFlag(wxSB_VERTICAL)?wxVERTICAL:wxHORIZONTAL);
|
||||||
|
event.SetEventObject(this);
|
||||||
|
GetEventHandler()->ProcessEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // wxUSE_SCROLLBAR
|
Reference in New Issue
Block a user