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:10 UTC
(openoffice) branch Pilot-Pirx-table created (now a10835d34f)
This is an automated email from the ASF dual-hosted git repository.
mseidel pushed a change to branch Pilot-Pirx-table
in repository https://gitbox.apache.org/repos/asf/openoffice.git
at a10835d34f New design for table selection
This branch includes the following new commits:
new a10835d34f New design for table selection
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(openoffice) 01/01: New design for table selection
Posted by ms...@apache.org.
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: */