You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by ms...@apache.org on 2025/12/10 16:21:11 UTC
(openoffice) 01/01: New design for table selection
This is an automated email from the ASF dual-hosted git repository.
mseidel pushed a commit to branch Pilot-Pirx-table
in repository https://gitbox.apache.org/repos/asf/openoffice.git
commit a10835d34fc89dbc99d6c22cd8f009abcaf6d70a
Author: Matthias Seidel <ms...@apache.org>
AuthorDate: Wed Dec 10 17:21:04 2025 +0100
New design for table selection
---
main/vcl/aqua/source/app/saldata.cxx | 441 +++++++++++++++++------------------
1 file changed, 220 insertions(+), 221 deletions(-)
diff --git a/main/vcl/aqua/source/app/saldata.cxx b/main/vcl/aqua/source/app/saldata.cxx
index 95db94022b..5f2fedc5f5 100644
--- a/main/vcl/aqua/source/app/saldata.cxx
+++ b/main/vcl/aqua/source/app/saldata.cxx
@@ -19,8 +19,6 @@
*
*************************************************************/
-
-
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_vcl.hxx"
@@ -34,257 +32,258 @@ oslThreadKey SalData::s_aAutoReleaseKey = 0;
static void SAL_CALL releasePool( void* pPool )
{
- if( pPool )
- [(NSAutoreleasePool*)pPool release];
+ if( pPool )
+ [(NSAutoreleasePool*)pPool release];
}
SalData::SalData()
:
- mpTimerProc( NULL ),
- mpFirstInstance( NULL ),
- mpFirstObject( NULL ),
- mpFirstVD( NULL ),
- mpFirstPrinter( NULL ),
- mpFontList( NULL ),
- mpStatusItem( nil ),
- mxRGBSpace( CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB) ),
- mxGraySpace( CGColorSpaceCreateWithName(kCGColorSpaceGenericGray) ),
- mxP50Space( NULL ),
- mxP50Pattern( NULL ),
- maCursors( POINTER_COUNT, INVALID_CURSOR_PTR ),
- mbIsScrollbarDoubleMax( false ),
- mnSystemVersion( OSX_VER_LION ),
- mpAppleRemoteMainController( NULL ),
- mpDockIconClickHandler( nil ),
- mnDPIX( 0 ),
- mnDPIY( 0 )
+ mpTimerProc( NULL ),
+ mpFirstInstance( NULL ),
+ mpFirstObject( NULL ),
+ mpFirstVD( NULL ),
+ mpFirstPrinter( NULL ),
+ mpFontList( NULL ),
+ mpStatusItem( nil ),
+ mxRGBSpace( CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB) ),
+ mxGraySpace( CGColorSpaceCreateWithName(kCGColorSpaceGenericGray) ),
+ mxP50Space( NULL ),
+ mxP50Pattern( NULL ),
+ maCursors( POINTER_COUNT, INVALID_CURSOR_PTR ),
+ mbIsScrollbarDoubleMax( false ),
+ mnSystemVersion( OSX_VER_LION ),
+ mpAppleRemoteMainController( NULL ),
+ mpDockIconClickHandler( nil ),
+ mnDPIX( 0 ),
+ mnDPIY( 0 )
{
- if( s_aAutoReleaseKey == 0 )
- s_aAutoReleaseKey = osl_createThreadKey( releasePool );
+ if( s_aAutoReleaseKey == 0 )
+ s_aAutoReleaseKey = osl_createThreadKey( releasePool );
}
SalData::~SalData()
{
- CGPatternRelease( mxP50Pattern );
- CGColorSpaceRelease( mxP50Space );
- CGColorSpaceRelease( mxRGBSpace );
- CGColorSpaceRelease( mxGraySpace );
- for( unsigned int i = 0; i < maCursors.size(); i++ )
- {
- NSCursor* pCurs = maCursors[i];
- if( pCurs && pCurs != INVALID_CURSOR_PTR )
- [pCurs release];
- }
- if( s_aAutoReleaseKey )
- {
- // release the last pool
- NSAutoreleasePool* pPool = nil;
- pPool = reinterpret_cast<NSAutoreleasePool*>( osl_getThreadKeyData( s_aAutoReleaseKey ) );
- if( pPool )
- {
- osl_setThreadKeyData( s_aAutoReleaseKey, NULL );
- [pPool release];
- }
+ CGPatternRelease( mxP50Pattern );
+ CGColorSpaceRelease( mxP50Space );
+ CGColorSpaceRelease( mxRGBSpace );
+ CGColorSpaceRelease( mxGraySpace );
+ for( unsigned int i = 0; i < maCursors.size(); i++ )
+ {
+ NSCursor* pCurs = maCursors[i];
+ if( pCurs && pCurs != INVALID_CURSOR_PTR )
+ [pCurs release];
+ }
+ if( s_aAutoReleaseKey )
+ {
+ // release the last pool
+ NSAutoreleasePool* pPool = nil;
+ pPool = reinterpret_cast<NSAutoreleasePool*>( osl_getThreadKeyData( s_aAutoReleaseKey ) );
+ if( pPool )
+ {
+ osl_setThreadKeyData( s_aAutoReleaseKey, NULL );
+ [pPool release];
+ }
- osl_destroyThreadKey( s_aAutoReleaseKey );
- s_aAutoReleaseKey = 0;
- }
- if ( mpAppleRemoteMainController )
- [mpAppleRemoteMainController release];
+ osl_destroyThreadKey( s_aAutoReleaseKey );
+ s_aAutoReleaseKey = 0;
+ }
+ if ( mpAppleRemoteMainController )
+ [mpAppleRemoteMainController release];
}
void SalData::ensureThreadAutoreleasePool()
{
- NSAutoreleasePool* pPool = nil;
- if( s_aAutoReleaseKey )
- {
- pPool = reinterpret_cast<NSAutoreleasePool*>( osl_getThreadKeyData( s_aAutoReleaseKey ) );
- if( ! pPool )
- {
- pPool = [[NSAutoreleasePool alloc] init];
- osl_setThreadKeyData( s_aAutoReleaseKey, pPool );
- }
- }
- else
- {
- DBG_ERROR( "no autorelease key" );
- }
+ NSAutoreleasePool* pPool = nil;
+ if( s_aAutoReleaseKey )
+ {
+ pPool = reinterpret_cast<NSAutoreleasePool*>( osl_getThreadKeyData( s_aAutoReleaseKey ) );
+ if( ! pPool )
+ {
+ pPool = [[NSAutoreleasePool alloc] init];
+ osl_setThreadKeyData( s_aAutoReleaseKey, pPool );
+ }
+ }
+ else
+ {
+ DBG_ERROR( "no autorelease key" );
+ }
}
void SalData::drainThreadAutoreleasePool()
{
- NSAutoreleasePool* pPool = nil;
- if( s_aAutoReleaseKey )
- {
- pPool = reinterpret_cast<NSAutoreleasePool*>( osl_getThreadKeyData( s_aAutoReleaseKey ) );
- if( pPool )
- {
- // osl_setThreadKeyData( s_aAutoReleaseKey, NULL );
- // [pPool release];
- [pPool drain];
- }
- else
- {
- pPool = [[NSAutoreleasePool alloc] init];
- osl_setThreadKeyData( s_aAutoReleaseKey, pPool );
- }
- }
- else
- {
- DBG_ERROR( "no autorelease key" );
- }
+ NSAutoreleasePool* pPool = nil;
+ if( s_aAutoReleaseKey )
+ {
+ pPool = reinterpret_cast<NSAutoreleasePool*>( osl_getThreadKeyData( s_aAutoReleaseKey ) );
+ if( pPool )
+ {
+ // osl_setThreadKeyData( s_aAutoReleaseKey, NULL );
+ // [pPool release];
+ [pPool drain];
+ }
+ else
+ {
+ pPool = [[NSAutoreleasePool alloc] init];
+ osl_setThreadKeyData( s_aAutoReleaseKey, pPool );
+ }
+ }
+ else
+ {
+ DBG_ERROR( "no autorelease key" );
+ }
}
-
struct curs_ent
{
- const char* pBaseName;
- const NSPoint aHotSpot;
+ const char* pBaseName;
+ const NSPoint aHotSpot;
}
const aCursorTab[ POINTER_COUNT ] =
{
-{ NULL, { 0, 0 } }, //POINTER_ARROW
-{ "nullptr", { 16, 16 } }, //POINTER_NULL
-{ "hourglass", { 15, 15 } }, //POINTER_WAIT
-{ NULL, { 0, 0 } }, //POINTER_TEXT
-{ "help", { 0, 0 } }, //POINTER_HELP
-{ NULL, { 0, 0 } }, //POINTER_CROSS
-{ NULL, { 0, 0 } }, //POINTER_MOVE
-{ NULL, { 0, 0 } }, //POINTER_NSIZE
-{ NULL, { 0, 0 } }, //POINTER_SSIZE
-{ NULL, { 0, 0 } }, //POINTER_WSIZE
-{ NULL, { 0, 0 } }, //POINTER_ESIZE
-{ "nwsesize", { 15, 15 } }, //POINTER_NWSIZE
-{ "neswsize", { 15, 15 } }, //POINTER_NESIZE
-{ "neswsize", { 15, 15 } }, //POINTER_SWSIZE
-{ "nwsesize", { 15, 15 } }, //POINTER_SESIZE
-{ NULL, { 0, 0 } }, //POINTER_WINDOW_NSIZE
-{ NULL, { 0, 0 } }, //POINTER_WINDOW_SSIZE
-{ NULL, { 0, 0 } }, //POINTER_WINDOW_WSIZE
-{ NULL, { 0, 0 } }, //POINTER_WINDOW_ESIZE
-{ "nwsesize", { 15, 15 } }, //POINTER_WINDOW_NWSIZE
-{ "neswsize", { 15, 15 } }, //POINTER_WINDOW_NESIZE
-{ "neswsize", { 15, 15 } }, //POINTER_WINDOW_SWSIZE
-{ "nwsesize", { 15, 15 } }, //POINTER_WINDOW_SESIZE
-{ NULL, { 0, 0 } }, //POINTER_HSPLIT
-{ NULL, { 0, 0 } }, //POINTER_VSPLIT
-{ NULL, { 0, 0 } }, //POINTER_HSIZEBAR
-{ NULL, { 0, 0 } }, //POINTER_VSIZEBAR
-{ NULL, { 0, 0 } }, //POINTER_HAND
-{ NULL, { 0, 0 } }, //POINTER_REFHAND
-{ "pen", { 3, 27 } }, //POINTER_PEN
-{ "magnify", { 12, 13 } }, //POINTER_MAGNIFY
-{ "fill", { 10, 22 } }, //POINTER_FILL
-{ "rotate", { 15, 15 } }, //POINTER_ROTATE
-{ "hshear", { 15, 15 } }, //POINTER_HSHEAR
-{ "vshear", { 15, 15 } }, //POINTER_VSHEAR
-{ "mirror", { 14, 12 } }, //POINTER_MIRROR
-{ "crook", { 15, 14 } }, //POINTER_CROOK
-{ "crop", { 9, 9 } }, //POINTER_CROP
-{ "movept", { 0, 0 } }, //POINTER_MOVEPOINT
-{ "movebw", { 0, 0 } }, //POINTER_MOVEBEZIERWEIGHT
-{ "movedata", { 0, 0 } }, //POINTER_MOVEDATA
-{ "copydata", { 0, 0 } }, //POINTER_COPYDATA
-{ "linkdata", { 0, 0 } }, //POINTER_LINKDATA
-{ "movedlnk", { 0, 0 } }, //POINTER_MOVEDATALINK
-{ "copydlnk", { 0, 0 } }, //POINTER_COPYDATALINK
-{ "movef", { 8, 8 } }, //POINTER_MOVEFILE
-{ "copyf", { 8, 8 } }, //POINTER_COPYFILE
-{ "linkf", { 8, 8 } }, //POINTER_LINKFILE
-{ "moveflnk", { 8, 8 } }, //POINTER_MOVEFILELINK
-{ "copyflnk", { 8, 8 } }, //POINTER_COPYFILELINK
-{ "movef2", { 7, 8 } }, //POINTER_MOVEFILES
-{ "copyf2", { 7, 8 } }, //POINTER_COPYFILES
-{ "notallow", { 15, 15 } }, //POINTER_NOTALLOWED
-{ "dline", { 8, 8 } }, //POINTER_DRAW_LINE
-{ "drect", { 8, 8 } }, //POINTER_DRAW_RECT
-{ "dpolygon", { 8, 8 } }, //POINTER_DRAW_POLYGON
-{ "dbezier", { 8, 8 } }, //POINTER_DRAW_BEZIER
-{ "darc", { 8, 8 } }, //POINTER_DRAW_ARC
-{ "dpie", { 8, 8 } }, //POINTER_DRAW_PIE
-{ "dcirccut", { 8, 8 } }, //POINTER_DRAW_CIRCLECUT
-{ "dellipse", { 8, 8 } }, //POINTER_DRAW_ELLIPSE
-{ "dfree", { 8, 8 } }, //POINTER_DRAW_FREEHAND
-{ "dconnect", { 8, 8 } }, //POINTER_DRAW_CONNECT
-{ "dtext", { 8, 8 } }, //POINTER_DRAW_TEXT
-{ "dcapt", { 8, 8 } }, //POINTER_DRAW_CAPTION
-{ "chart", { 15, 16 } }, //POINTER_CHART
-{ "detectiv", { 12, 13 } }, //POINTER_DETECTIVE
-{ "pivotcol", { 7, 5 } }, //POINTER_PIVOT_COL
-{ "pivotrow", { 8, 7 } }, //POINTER_PIVOT_ROW
-{ "pivotfld", { 8, 7 } }, //POINTER_PIVOT_FIELD
-{ "chain", { 0, 2 } }, //POINTER_CHAIN
-{ "chainnot", { 2, 2 } }, //POINTER_CHAIN_NOTALLOWED
-{ "timemove", { 16, 16 } }, //POINTER_TIMEEVENT_MOVE
-{ "timesize", { 16, 17 } }, //POINTER_TIMEEVENT_SIZE
-{ "asn", { 16, 12 } }, //POINTER_AUTOSCROLL_N
-{ "ass", { 15, 19 } }, //POINTER_AUTOSCROLL_S
-{ "asw", { 12, 15 } }, //POINTER_AUTOSCROLL_W
-{ "ase", { 19, 16 } }, //POINTER_AUTOSCROLL_E
-{ "asnw", { 10, 10 } }, //POINTER_AUTOSCROLL_NW
-{ "asne", { 21, 10 } }, //POINTER_AUTOSCROLL_NE
-{ "assw", { 21, 21 } }, //POINTER_AUTOSCROLL_SW
-{ "asse", { 21, 21 } }, //POINTER_AUTOSCROLL_SE
-{ "asns", { 15, 15 } }, //POINTER_AUTOSCROLL_NS
-{ "aswe", { 15, 15 } }, //POINTER_AUTOSCROLL_WE
-{ "asnswe", { 15, 15 } }, //POINTER_AUTOSCROLL_NSWE
-{ "airbrush", { 5, 22 } }, //POINTER_AIRBRUSH
-{ "vtext", { 15, 15 } }, //POINTER_TEXT_VERTICAL
-{ "pivotdel", { 18, 15 } }, //POINTER_PIVOT_DELETE
-{ "tblsels", { 15, 30 } }, //POINTER_TAB_SELECT_S
-{ "tblsele", { 30, 16 } }, //POINTER_TAB_SELECT_E
-{ "tblselse", { 30, 30 } }, //POINTER_TAB_SELECT_SE
-{ "tblselw", { 1, 16 } }, //POINTER_TAB_SELECT_W
-{ "tblselsw", { 1, 30 } }, //POINTER_TAB_SELECT_SW
-{ "pntbrsh", { 9, 16 } } //POINTER_PAINTBRUSH
+{ NULL, { 0, 0 } }, // POINTER_ARROW
+{ "nullptr", { 16, 16 } }, // POINTER_NULL
+{ "hourglass", { 15, 15 } }, // POINTER_WAIT
+{ NULL, { 0, 0 } }, // POINTER_TEXT
+{ "help", { 0, 0 } }, // POINTER_HELP
+{ NULL, { 0, 0 } }, // POINTER_CROSS
+{ NULL, { 0, 0 } }, // POINTER_MOVE
+{ NULL, { 0, 0 } }, // POINTER_NSIZE
+{ NULL, { 0, 0 } }, // POINTER_SSIZE
+{ NULL, { 0, 0 } }, // POINTER_WSIZE
+{ NULL, { 0, 0 } }, // POINTER_ESIZE
+{ "nwsesize", { 15, 15 } }, // POINTER_NWSIZE
+{ "neswsize", { 15, 15 } }, // POINTER_NESIZE
+{ "neswsize", { 15, 15 } }, // POINTER_SWSIZE
+{ "nwsesize", { 15, 15 } }, // POINTER_SESIZE
+{ NULL, { 0, 0 } }, // POINTER_WINDOW_NSIZE
+{ NULL, { 0, 0 } }, // POINTER_WINDOW_SSIZE
+{ NULL, { 0, 0 } }, // POINTER_WINDOW_WSIZE
+{ NULL, { 0, 0 } }, // POINTER_WINDOW_ESIZE
+{ "nwsesize", { 15, 15 } }, // POINTER_WINDOW_NWSIZE
+{ "neswsize", { 15, 15 } }, // POINTER_WINDOW_NESIZE
+{ "neswsize", { 15, 15 } }, // POINTER_WINDOW_SWSIZE
+{ "nwsesize", { 15, 15 } }, // POINTER_WINDOW_SESIZE
+{ NULL, { 0, 0 } }, // POINTER_HSPLIT
+{ NULL, { 0, 0 } }, // POINTER_VSPLIT
+{ NULL, { 0, 0 } }, // POINTER_HSIZEBAR
+{ NULL, { 0, 0 } }, // POINTER_VSIZEBAR
+{ NULL, { 0, 0 } }, // POINTER_HAND
+{ NULL, { 0, 0 } }, // POINTER_REFHAND
+{ "pen", { 3, 27 } }, // POINTER_PEN
+{ "magnify", { 12, 13 } }, // POINTER_MAGNIFY
+{ "fill", { 10, 22 } }, // POINTER_FILL
+{ "rotate", { 15, 15 } }, // POINTER_ROTATE
+{ "hshear", { 15, 15 } }, // POINTER_HSHEAR
+{ "vshear", { 15, 15 } }, // POINTER_VSHEAR
+{ "mirror", { 14, 12 } }, // POINTER_MIRROR
+{ "crook", { 15, 14 } }, // POINTER_CROOK
+{ "crop", { 9, 9 } }, // POINTER_CROP
+{ "movept", { 0, 0 } }, // POINTER_MOVEPOINT
+{ "movebw", { 0, 0 } }, // POINTER_MOVEBEZIERWEIGHT
+{ "movedata", { 0, 0 } }, // POINTER_MOVEDATA
+{ "copydata", { 0, 0 } }, // POINTER_COPYDATA
+{ "linkdata", { 0, 0 } }, // POINTER_LINKDATA
+{ "movedlnk", { 0, 0 } }, // POINTER_MOVEDATALINK
+{ "copydlnk", { 0, 0 } }, // POINTER_COPYDATALINK
+{ "movef", { 8, 8 } }, // POINTER_MOVEFILE
+{ "copyf", { 8, 8 } }, // POINTER_COPYFILE
+{ "linkf", { 8, 8 } }, // POINTER_LINKFILE
+{ "moveflnk", { 8, 8 } }, // POINTER_MOVEFILELINK
+{ "copyflnk", { 8, 8 } }, // POINTER_COPYFILELINK
+{ "movef2", { 7, 8 } }, // POINTER_MOVEFILES
+{ "copyf2", { 7, 8 } }, // POINTER_COPYFILES
+{ "notallow", { 15, 15 } }, // POINTER_NOTALLOWED
+{ "dline", { 8, 8 } }, // POINTER_DRAW_LINE
+{ "drect", { 8, 8 } }, // POINTER_DRAW_RECT
+{ "dpolygon", { 8, 8 } }, // POINTER_DRAW_POLYGON
+{ "dbezier", { 8, 8 } }, // POINTER_DRAW_BEZIER
+{ "darc", { 8, 8 } }, // POINTER_DRAW_ARC
+{ "dpie", { 8, 8 } }, // POINTER_DRAW_PIE
+{ "dcirccut", { 8, 8 } }, // POINTER_DRAW_CIRCLECUT
+{ "dellipse", { 8, 8 } }, // POINTER_DRAW_ELLIPSE
+{ "dfree", { 8, 8 } }, // POINTER_DRAW_FREEHAND
+{ "dconnect", { 8, 8 } }, // POINTER_DRAW_CONNECT
+{ "dtext", { 8, 8 } }, // POINTER_DRAW_TEXT
+{ "dcapt", { 8, 8 } }, // POINTER_DRAW_CAPTION
+{ "chart", { 15, 16 } }, // POINTER_CHART
+{ "detectiv", { 12, 13 } }, // POINTER_DETECTIVE
+{ "pivotcol", { 7, 5 } }, // POINTER_PIVOT_COL
+{ "pivotrow", { 8, 7 } }, // POINTER_PIVOT_ROW
+{ "pivotfld", { 8, 7 } }, // POINTER_PIVOT_FIELD
+{ "chain", { 0, 2 } }, // POINTER_CHAIN
+{ "chainnot", { 2, 2 } }, // POINTER_CHAIN_NOTALLOWED
+{ "timemove", { 16, 16 } }, // POINTER_TIMEEVENT_MOVE
+{ "timesize", { 16, 17 } }, // POINTER_TIMEEVENT_SIZE
+{ "asn", { 16, 12 } }, // POINTER_AUTOSCROLL_N
+{ "ass", { 15, 19 } }, // POINTER_AUTOSCROLL_S
+{ "asw", { 12, 15 } }, // POINTER_AUTOSCROLL_W
+{ "ase", { 19, 16 } }, // POINTER_AUTOSCROLL_E
+{ "asnw", { 10, 10 } }, // POINTER_AUTOSCROLL_NW
+{ "asne", { 21, 10 } }, // POINTER_AUTOSCROLL_NE
+{ "assw", { 21, 21 } }, // POINTER_AUTOSCROLL_SW
+{ "asse", { 21, 21 } }, // POINTER_AUTOSCROLL_SE
+{ "asns", { 15, 15 } }, // POINTER_AUTOSCROLL_NS
+{ "aswe", { 15, 15 } }, // POINTER_AUTOSCROLL_WE
+{ "asnswe", { 15, 15 } }, // POINTER_AUTOSCROLL_NSWE
+{ "airbrush", { 5, 22 } }, // POINTER_AIRBRUSH
+{ "vtext", { 15, 15 } }, // POINTER_TEXT_VERTICAL
+{ "pivotdel", { 18, 15 } }, // POINTER_PIVOT_DELETE
+{ "tblsels", { 15, 30 } }, // POINTER_TAB_SELECT_S
+{ "tblsele", { 30, 16 } }, // POINTER_TAB_SELECT_E
+{ "tblselse", { 30, 30 } }, // POINTER_TAB_SELECT_SE
+{ "tblselw", { 1, 16 } }, // POINTER_TAB_SELECT_W
+{ "tblselsw", { 1, 30 } }, // POINTER_TAB_SELECT_SW
+{ "pntbrsh", { 9, 16 } } // POINTER_PAINTBRUSH
};
NSCursor* SalData::getCursor( PointerStyle i_eStyle )
{
- if( i_eStyle >= POINTER_COUNT )
- return nil;
+ if( i_eStyle >= POINTER_COUNT )
+ return nil;
- NSCursor* pCurs = maCursors[ i_eStyle ];
- if( pCurs == INVALID_CURSOR_PTR )
- {
- pCurs = nil;
- if( aCursorTab[ i_eStyle ].pBaseName )
- {
- NSPoint aHotSpot = aCursorTab[ i_eStyle ].aHotSpot;
- CFStringRef pCursorName =
- CFStringCreateWithCStringNoCopy(
- kCFAllocatorDefault,
- aCursorTab[ i_eStyle ].pBaseName,
- kCFStringEncodingASCII,
- kCFAllocatorNull );
- CFBundleRef hMain = CFBundleGetMainBundle();
- CFURLRef hURL = CFBundleCopyResourceURL( hMain, pCursorName, CFSTR("png"), CFSTR("cursors") );
- if( hURL )
- {
- pCurs = [[NSCursor alloc] initWithImage: [[NSImage alloc] initWithContentsOfURL: (NSURL*)hURL] hotSpot: aHotSpot];
- CFRelease( hURL );
- }
- CFRelease( pCursorName );
- }
- maCursors[ i_eStyle ] = pCurs;
- }
- return pCurs;
+ NSCursor* pCurs = maCursors[ i_eStyle ];
+ if( pCurs == INVALID_CURSOR_PTR )
+ {
+ pCurs = nil;
+ if( aCursorTab[ i_eStyle ].pBaseName )
+ {
+ NSPoint aHotSpot = aCursorTab[ i_eStyle ].aHotSpot;
+ CFStringRef pCursorName =
+ CFStringCreateWithCStringNoCopy(
+ kCFAllocatorDefault,
+ aCursorTab[ i_eStyle ].pBaseName,
+ kCFStringEncodingASCII,
+ kCFAllocatorNull );
+ CFBundleRef hMain = CFBundleGetMainBundle();
+ CFURLRef hURL = CFBundleCopyResourceURL( hMain, pCursorName, CFSTR("png"), CFSTR("cursors") );
+ if( hURL )
+ {
+ pCurs = [[NSCursor alloc] initWithImage: [[NSImage alloc] initWithContentsOfURL: (NSURL*)hURL] hotSpot: aHotSpot];
+ CFRelease( hURL );
+ }
+ CFRelease( pCursorName );
+ }
+ maCursors[ i_eStyle ] = pCurs;
+ }
+ return pCurs;
}
NSStatusItem* SalData::getStatusItem()
{
- SalData* pData = GetSalData();
- if( ! pData->mpStatusItem )
- {
- NSStatusBar* pStatBar =[NSStatusBar systemStatusBar];
- if( pStatBar )
- {
- pData->mpStatusItem = [pStatBar statusItemWithLength: NSVariableStatusItemLength];
- [pData->mpStatusItem retain];
- OOStatusItemView* pView = [[OOStatusItemView alloc] init];
- [pData->mpStatusItem setView: pView ];
- [pView display];
- }
- }
- return pData->mpStatusItem;
+ SalData* pData = GetSalData();
+ if( ! pData->mpStatusItem )
+ {
+ NSStatusBar* pStatBar =[NSStatusBar systemStatusBar];
+ if( pStatBar )
+ {
+ pData->mpStatusItem = [pStatBar statusItemWithLength: NSVariableStatusItemLength];
+ [pData->mpStatusItem retain];
+ OOStatusItemView* pView = [[OOStatusItemView alloc] init];
+ [pData->mpStatusItem setView: pView ];
+ [pView display];
+ }
+ }
+ return pData->mpStatusItem;
}
+
+/* vim: set noet sw=4 ts=4: */