r=mkaply, a=brendan
OS/2 bring up - Fixes for our cursors
This commit is contained in:
mkaply%us.ibm.com 2000-06-26 19:52:41 +00:00
Родитель 7105100049
Коммит 768e7d66f8
19 изменённых файлов: 90 добавлений и 18 удалений

Просмотреть файл

@ -80,6 +80,7 @@ void nsWidgetModuleData::Init( nsIAppShell *aPrimaevalAppShell)
pszFontNameSize = strdup( buffer);
hptrSelect = hptrFrameIcon = 0;
idSelect = 0;
// Work out if the system is DBCS
COUNTRYCODE cc = { 0 };
@ -155,13 +156,52 @@ nsWidgetModuleData::~nsWidgetModuleData()
HPOINTER nsWidgetModuleData::GetPointer( nsCursor aCursor)
{
if( aCursor != eCursor_hyperlink)
printf( "\n*** Need to implement cursor type %d (see widget/os2/nsModule.cpp)\n\n", (int) aCursor);
ULONG idPtr = 0;
switch( aCursor)
{
case eCursor_hyperlink: idPtr = ID_PTR_SELECTURL ; break;
case eCursor_arrow_north: idPtr = ID_PTR_ARROWNORTH ; break;
case eCursor_arrow_north_plus: idPtr = ID_PTR_ARROWNORTHP; break;
case eCursor_arrow_south: idPtr = ID_PTR_ARROWSOUTH ; break;
case eCursor_arrow_south_plus: idPtr = ID_PTR_ARROWSOUTHP; break;
case eCursor_arrow_west: idPtr = ID_PTR_ARROWWEST ; break;
case eCursor_arrow_west_plus: idPtr = ID_PTR_ARROWWESTP ; break;
case eCursor_arrow_east: idPtr = ID_PTR_ARROWEAST ; break;
case eCursor_arrow_east_plus: idPtr = ID_PTR_ARROWEASTP ; break;
case eCursor_copy: idPtr = ID_PTR_COPY ; break;
case eCursor_alias: idPtr = ID_PTR_ALIAS ; break;
case eCursor_cell: idPtr = ID_PTR_CELL ; break;
case eCursor_grab: idPtr = ID_PTR_GRAB ; break;
case eCursor_grabbing: idPtr = ID_PTR_GRABBING ; break;
case eCursor_crosshair:
case eCursor_help:
case eCursor_spinning:
case eCursor_context_menu:
case eCursor_count_up:
case eCursor_count_down:
case eCursor_count_up_down:
break;
default:
NS_ASSERTION( 0, "Unknown cursor type");
break;
}
if( idPtr == 0)
{
idPtr = ID_PTR_SELECTURL; // default to hyperlink cursor?
printf( "\n*** Need to implement cursor type %d (see widget/src/os2/nsModule.cpp)\n\n", (int) aCursor);
}
// Use an array and indices here since we have all the pointers in place?
if( idSelect != idPtr)
{
idSelect = idPtr;
hptrSelect = WinLoadPointer( HWND_DESKTOP, hModResources, idSelect);
}
// Use an array and indices here when we have all the pointers in place.
if( !hptrSelect)
hptrSelect = WinLoadPointer( HWND_DESKTOP,
hModResources, ID_PTR_SELECTURL);
return hptrSelect;
}

Просмотреть файл

@ -88,6 +88,7 @@ class nsWidgetModuleData
void Init( nsIAppShell *aPrimaevalAppShell);
private:
ULONG idSelect;
HPOINTER hptrSelect; // !! be more sensible about this...
HPOINTER hptrFrameIcon;
#if 0

Просмотреть файл

@ -503,7 +503,7 @@ MRESULT EXPENTRY fnwpNSWindow( HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2)
// check to see if we have a rollup listener registered
if (nsnull != gRollupListener && nsnull != gRollupWidget) {
if (msg == WM_ACTIVATE || msg == WM_BUTTON1DOWN ||
if (msg == WM_ACTIVATE || msg == WM_BUTTON1DOWN ||
msg == WM_BUTTON2DOWN || msg == WM_BUTTON3DOWN) {
// Rollup if the event is outside the popup
if (PR_FALSE == nsWindow::EventIsInsideWindow((nsWindow*)gRollupWidget)) {
@ -511,12 +511,17 @@ MRESULT EXPENTRY fnwpNSWindow( HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2)
// if we are supposed to be consuming events and it is
// a Mouse Button down, let it go through
if (gRollupConsumeRollupEvent && msg != WM_BUTTON1DOWN) {
// if (gRollupConsumeRollupEvent && msg != WM_BUTTON1DOWN) {
// return FALSE;
}
// }
}
}
}
else if (msg == WM_SETFOCUS) {
if (!mp2 && hwnd != WinQueryWindow((HWND)mp1, QW_OWNER)) {
gRollupListener->Rollup();
}
}
}
// Messages which get re-routed if their source was an nsWindow
// (it's very bad to reroute messages whose source isn't an nsWindow,

Двоичные данные
widget/src/os2/res/aliasb.ptr Normal file

Двоичный файл не отображается.

Двоичные данные
widget/src/os2/res/arrow_east.ptr Normal file

Двоичный файл не отображается.

Двоичные данные
widget/src/os2/res/arrow_east_plus.ptr Normal file

Двоичный файл не отображается.

Двоичные данные
widget/src/os2/res/arrow_north.ptr Normal file

Двоичный файл не отображается.

Двоичные данные
widget/src/os2/res/arrow_north_plus.ptr Normal file

Двоичный файл не отображается.

Двоичные данные
widget/src/os2/res/arrow_south.ptr Normal file

Двоичный файл не отображается.

Двоичные данные
widget/src/os2/res/arrow_south_plus.ptr Normal file

Двоичный файл не отображается.

Двоичные данные
widget/src/os2/res/arrow_west.ptr Normal file

Двоичный файл не отображается.

Двоичные данные
widget/src/os2/res/arrow_west_plus.ptr Normal file

Двоичный файл не отображается.

Двоичные данные
widget/src/os2/res/cell.ptr Normal file

Двоичный файл не отображается.

Двоичные данные
widget/src/os2/res/copy.ptr Normal file

Двоичный файл не отображается.

Двоичные данные
widget/src/os2/res/grab.ptr Normal file

Двоичный файл не отображается.

Двоичные данные
widget/src/os2/res/grabbing.ptr Normal file

Двоичный файл не отображается.

Двоичные данные
widget/src/os2/res/select.ptr

Двоичный файл не отображается.

Просмотреть файл

@ -46,7 +46,20 @@ ICON ID_ICO_FOLDER folder.ico
ICON ID_ICO_DRAGITEM dragitem.ico
/* pointers */
POINTER ID_PTR_SELECTURL select.ptr
POINTER ID_PTR_SELECTURL select.ptr
POINTER ID_PTR_ARROWNORTH arrow_north.ptr
POINTER ID_PTR_ARROWNORTHP arrow_north_plus.ptr
POINTER ID_PTR_ARROWSOUTH arrow_south.ptr
POINTER ID_PTR_ARROWSOUTHP arrow_south_plus.ptr
POINTER ID_PTR_ARROWWEST arrow_west.ptr
POINTER ID_PTR_ARROWWESTP arrow_west_plus.ptr
POINTER ID_PTR_ARROWEAST arrow_east.ptr
POINTER ID_PTR_ARROWEASTP arrow_east_plus.ptr
POINTER ID_PTR_COPY copy.ptr
POINTER ID_PTR_ALIAS aliasb.ptr
POINTER ID_PTR_CELL cell.ptr
POINTER ID_PTR_GRAB grab.ptr
POINTER ID_PTR_GRABBING grabbing.ptr
/* stringtable */
STRINGTABLE

Просмотреть файл

@ -33,15 +33,28 @@
#define IDD_HELPBUTTON 104
// Icons
#define ID_ICO_FRAME 500
#define ID_ICO_FOLDER 501
#define ID_ICO_DRAGITEM 502
#define ID_ICO_FRAME 500
#define ID_ICO_FOLDER 501
#define ID_ICO_DRAGITEM 502
#define ID_PTR_SELECTURL 2000
#define ID_PTR_SELECTURL 2000
#define ID_PTR_ARROWNORTH 2001
#define ID_PTR_ARROWNORTHP 2002
#define ID_PTR_ARROWSOUTH 2003
#define ID_PTR_ARROWSOUTHP 2004
#define ID_PTR_ARROWWEST 2005
#define ID_PTR_ARROWWESTP 2006
#define ID_PTR_ARROWEAST 2007
#define ID_PTR_ARROWEASTP 2008
#define ID_PTR_COPY 2009
#define ID_PTR_ALIAS 2010
#define ID_PTR_CELL 2011
#define ID_PTR_GRAB 2012
#define ID_PTR_GRABBING 2013
#define ID_STR_FONT 10000
#define ID_STR_HMMDIR 10001
#define ID_STR_NOCDIR 10002
#define ID_STR_FONT 10000
#define ID_STR_HMMDIR 10001
#define ID_STR_NOCDIR 10002
// OS2TODO HCT temporary bug fix
#ifndef FCF_CLOSEBUTTON // defined in the Merlin toolkit