From b5e3f8cb0a19ec0672cd27c8df0f3393643aaf42 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Wed, 12 Aug 2015 13:59:08 +0200 Subject: Get rid of all the tabs. So annoying. --- Linux_C_12/cCrossCallWindows_121.c | 3040 ++++++++++++++++++------------------ 1 file changed, 1520 insertions(+), 1520 deletions(-) (limited to 'Linux_C_12/cCrossCallWindows_121.c') diff --git a/Linux_C_12/cCrossCallWindows_121.c b/Linux_C_12/cCrossCallWindows_121.c index 93112ea..0ca7d4d 100644 --- a/Linux_C_12/cCrossCallWindows_121.c +++ b/Linux_C_12/cCrossCallWindows_121.c @@ -1,12 +1,12 @@ /******************************************************************************************** - Clean OS Windows library module version 1.2.1. - This module is part of the Clean Object I/O library, version 1.2.1, - for the Windows platform. + Clean OS Windows library module version 1.2.1. + This module is part of the Clean Object I/O library, version 1.2.1, + for the Windows platform. ********************************************************************************************/ /******************************************************************************************** - About this module: - Routines related to window/dialog handling. + About this module: + Routines related to window/dialog handling. ********************************************************************************************/ #include "cCrossCallWindows_121.h" @@ -59,1012 +59,1012 @@ static GtkWidget *GetControlParent (GtkWidget *widget) GtkWidget *parent = widget, *res = NULL, *last = NULL; printf("GetControlParent\n"); - while (parent != NULL) - { - if (GTK_IS_SCROLLED_WINDOW(parent)) - res = parent; + while (parent != NULL) + { + if (GTK_IS_SCROLLED_WINDOW(parent)) + res = parent; - last = parent; - parent = gtk_widget_get_parent (parent); - } + last = parent; + parent = gtk_widget_get_parent (parent); + } - return (GTK_IS_DIALOG(last)) ? last : res; + return (GTK_IS_DIALOG(last)) ? last : res; } static GtkFixed *GetFixed (GtkWidget *widget) { printf("GetFixed\n"); - if (GTK_IS_DIALOG(widget)) - { - return GTK_FIXED( + if (GTK_IS_DIALOG(widget)) + { + return GTK_FIXED( GTK_WIDGET(gtk_container_children( GTK_CONTAINER(GTK_DIALOG(widget)->vbox))->data)); - } - else - { - return GTK_FIXED(GTK_BIN(GTK_BIN(widget)->child)->child); - } + } + else + { + return GTK_FIXED(GTK_BIN(GTK_BIN(widget)->child)->child); + } } /********************************************************************************************* - The callback routine for a compound control. + The callback routine for a compound control. *********************************************************************************************/ #if 0 static LRESULT CALLBACK CompoundControlProcedure (HWND hwnd, UINT uMess, WPARAM wParam, LPARAM lParam) { - switch (uMess) - { - case WM_COMMAND: - { - switch (HIWORD (wParam)) - { - case BN_CLICKED: - { - if (lParam != 0) - { - /* Send also modifiers to Clean */ - SendMessage4ToClean (CcWmBUTTONCLICKED, GetControlParent (hwnd), lParam, GetModifiers (), LOWORD (wParam)); - } - return 0; - } - break; - case CBN_SETFOCUS: - { - gComboSelection = SendMessage ((HWND) lParam, CB_GETCURSEL, 0, 0); - return 0; - } - break; - case CBN_KILLFOCUS: - { - gComboSelection = -1; - return 0; - } - break; - case CBN_SELENDOK: - { - char text[256]; - int newsel; - HWND combo; - - combo = (HWND) lParam; - newsel = SendMessage (combo, CB_GETCURSEL, 0, 0); - SendMessage (combo, CB_GETLBTEXT, newsel, (LPARAM) text); - if (!SendMessage (combo, CB_GETITEMDATA, newsel, 0)) - { - SendMessage (combo, CB_SETCURSEL, gComboSelection, (LPARAM) text); - MessageBeep (0xFFFFFFFF); - return 0; - } - else - { - gComboSelection = newsel; - if (newsel!=CB_ERR) - SendMessage3ToClean (CcWmITEMSELECT, GetControlParent (hwnd), combo, newsel); - return 1; - } - } - break; - } - return 0; - } break; - case WM_PAINT: - { - HWND parentwindow; - HDC hdc; - PAINTSTRUCT ps; - - if (GetUpdateRect(hwnd,NULL,FALSE)) // determine if there is really an update area. - { - parentwindow = GetControlParent (hwnd); - hdc = BeginPaint (hwnd, &ps); - SendMessage3ToClean (CcWmDRAWCONTROL, parentwindow, hwnd, hdc); - EndPaint (hwnd, &ps); - } - return 0; - } break; - case WM_HSCROLL: - { - int nPos,nScrollCode,controlkind; - HWND parentwindow, hwndScrollBar; - - nScrollCode = LOWORD (wParam); - - if (nScrollCode != SB_ENDSCROLL) /* Do not send the SB_ENDSCROLL to Clean. */ - { - nPos = (short int) HIWORD (wParam); - parentwindow = GetControlParent (hwnd); - hwndScrollBar = (HWND) lParam; - - if (hwndScrollBar==0) - { - controlkind = SB_HORZ; /* lParam==0 in case of Compound scrollbars. */ - hwndScrollBar = hwnd; /* pass the compound control handle to Clean. */ - UpdateWindow (hwnd); /* but first ensure that compound control is updated. */ - } - else - { - controlkind = SB_CTL; /* lParam!==0 in case of SliderControls. */ - } - SendMessage5ToClean (CcWmSCROLLBARACTION, parentwindow, hwndScrollBar, controlkind, nScrollCode, nPos); - } - return 0; - } - break; - case WM_VSCROLL: - { - int nPos,nScrollCode,controlkind; - HWND parentwindow, hwndScrollBar; - - nScrollCode = LOWORD (wParam); - - if (nScrollCode != SB_ENDSCROLL) /* Do not send the SB_ENDSCROLL to Clean. */ - { - nPos = (short int) HIWORD (wParam); - parentwindow = GetControlParent (hwnd); - hwndScrollBar = (HWND) lParam; - - if (hwndScrollBar==0) - { - controlkind = SB_VERT; /* lParam==0 in case of Compound scrollbars. */ - hwndScrollBar = hwnd; /* pass the compound control handle to Clean. */ - UpdateWindow (hwnd); /* but first ensure that compound control is updated. */ - } - else - { - controlkind = SB_CTL; /* lParam!==0 in case of SliderControls. */ - } - SendMessage5ToClean (CcWmSCROLLBARACTION, parentwindow, hwndScrollBar, controlkind, nScrollCode, nPos); - } - return 0; - } - break; - /* The following cases concerning mouse events - (WM_LBUTTONDOWN upto WM_TIMER) have been copied from CustomControlProcedure. - */ - case WM_LBUTTONDOWN: - { + switch (uMess) + { + case WM_COMMAND: + { + switch (HIWORD (wParam)) + { + case BN_CLICKED: + { + if (lParam != 0) + { + /* Send also modifiers to Clean */ + SendMessage4ToClean (CcWmBUTTONCLICKED, GetControlParent (hwnd), lParam, GetModifiers (), LOWORD (wParam)); + } + return 0; + } + break; + case CBN_SETFOCUS: + { + gComboSelection = SendMessage ((HWND) lParam, CB_GETCURSEL, 0, 0); + return 0; + } + break; + case CBN_KILLFOCUS: + { + gComboSelection = -1; + return 0; + } + break; + case CBN_SELENDOK: + { + char text[256]; + int newsel; + HWND combo; + + combo = (HWND) lParam; + newsel = SendMessage (combo, CB_GETCURSEL, 0, 0); + SendMessage (combo, CB_GETLBTEXT, newsel, (LPARAM) text); + if (!SendMessage (combo, CB_GETITEMDATA, newsel, 0)) + { + SendMessage (combo, CB_SETCURSEL, gComboSelection, (LPARAM) text); + MessageBeep (0xFFFFFFFF); + return 0; + } + else + { + gComboSelection = newsel; + if (newsel!=CB_ERR) + SendMessage3ToClean (CcWmITEMSELECT, GetControlParent (hwnd), combo, newsel); + return 1; + } + } + break; + } + return 0; + } break; + case WM_PAINT: + { + HWND parentwindow; + HDC hdc; + PAINTSTRUCT ps; + + if (GetUpdateRect(hwnd,NULL,FALSE)) // determine if there is really an update area. + { + parentwindow = GetControlParent (hwnd); + hdc = BeginPaint (hwnd, &ps); + SendMessage3ToClean (CcWmDRAWCONTROL, parentwindow, hwnd, hdc); + EndPaint (hwnd, &ps); + } + return 0; + } break; + case WM_HSCROLL: + { + int nPos,nScrollCode,controlkind; + HWND parentwindow, hwndScrollBar; + + nScrollCode = LOWORD (wParam); + + if (nScrollCode != SB_ENDSCROLL) /* Do not send the SB_ENDSCROLL to Clean. */ + { + nPos = (short int) HIWORD (wParam); + parentwindow = GetControlParent (hwnd); + hwndScrollBar = (HWND) lParam; + + if (hwndScrollBar==0) + { + controlkind = SB_HORZ; /* lParam==0 in case of Compound scrollbars. */ + hwndScrollBar = hwnd; /* pass the compound control handle to Clean. */ + UpdateWindow (hwnd); /* but first ensure that compound control is updated. */ + } + else + { + controlkind = SB_CTL; /* lParam!==0 in case of SliderControls. */ + } + SendMessage5ToClean (CcWmSCROLLBARACTION, parentwindow, hwndScrollBar, controlkind, nScrollCode, nPos); + } + return 0; + } + break; + case WM_VSCROLL: + { + int nPos,nScrollCode,controlkind; + HWND parentwindow, hwndScrollBar; + + nScrollCode = LOWORD (wParam); + + if (nScrollCode != SB_ENDSCROLL) /* Do not send the SB_ENDSCROLL to Clean. */ + { + nPos = (short int) HIWORD (wParam); + parentwindow = GetControlParent (hwnd); + hwndScrollBar = (HWND) lParam; + + if (hwndScrollBar==0) + { + controlkind = SB_VERT; /* lParam==0 in case of Compound scrollbars. */ + hwndScrollBar = hwnd; /* pass the compound control handle to Clean. */ + UpdateWindow (hwnd); /* but first ensure that compound control is updated. */ + } + else + { + controlkind = SB_CTL; /* lParam!==0 in case of SliderControls. */ + } + SendMessage5ToClean (CcWmSCROLLBARACTION, parentwindow, hwndScrollBar, controlkind, nScrollCode, nPos); + } + return 0; + } + break; + /* The following cases concerning mouse events + (WM_LBUTTONDOWN upto WM_TIMER) have been copied from CustomControlProcedure. + */ + case WM_LBUTTONDOWN: + { /* SendMouseDownToClean (GetControlParent (hwnd), hwnd, SIGNEDLOWORD (lParam), SIGNEDHIWORD (lParam));*/ - return 0; - } break; - case WM_MOUSEMOVE: - { - if (gInMouseDown) - { + return 0; + } break; + case WM_MOUSEMOVE: + { + if (gInMouseDown) + { /* SendMouseStillDownToClean (GetControlParent (hwnd), hwnd, SIGNEDLOWORD (lParam), SIGNEDHIWORD (lParam)); */ - } - else - { + } + else + { /* SendMouseStillUpToClean (GetControlParent (hwnd), hwnd, SIGNEDLOWORD (lParam), SIGNEDHIWORD (lParam)); */ - } - return 0; - } break; - case WM_LBUTTONUP: - { - if (gInMouseDown) - { - ReleaseCapture (); /* rely on WM_CAPTURECHANGED to send the mouseUp event */ - } - return 0; - } break; - case WM_CANCELMODE: - { - if (gInMouseDown) - { - ReleaseCapture (); /* rely on WM_CAPTURECHANGED to send the mouseUp event */ - } - return DefWindowProc (hwnd, uMess, wParam, lParam); - } break; - case WM_CAPTURECHANGED: - { - if (gInMouseDown) - { - POINT p; - GetCursorPos (&p); - ScreenToClient (hwnd, &p); + } + return 0; + } break; + case WM_LBUTTONUP: + { + if (gInMouseDown) + { + ReleaseCapture (); /* rely on WM_CAPTURECHANGED to send the mouseUp event */ + } + return 0; + } break; + case WM_CANCELMODE: + { + if (gInMouseDown) + { + ReleaseCapture (); /* rely on WM_CAPTURECHANGED to send the mouseUp event */ + } + return DefWindowProc (hwnd, uMess, wParam, lParam); + } break; + case WM_CAPTURECHANGED: + { + if (gInMouseDown) + { + POINT p; + GetCursorPos (&p); + ScreenToClient (hwnd, &p); /* SendMouseUpToClean (GetControlParent (hwnd), hwnd, p.x, p.y); */ - } - return 0; - } break; - /* The following cases concerning key events and focus events - (WM_SYSKEYDOWN upto WM_GETDLGCODE) have been copied from CustomControlProcedure. - */ - case WM_SYSKEYDOWN: - case WM_KEYDOWN: - { - int c = 0; - HWND hwndParent; - - c = CheckVirtualKeyCode ((int) wParam); - - if (!c) - /* Ignore non-virtual keys, because they arrive as WM_SYSCHAR and WM_CHAR. */ - { - return DefWindowProc (hwnd, uMess, wParam, lParam); - } - /* Handle virtual keys analogously to keys received as WM_SYSCHAR and WM_CHAR. */ - hwndParent = GetControlParent (hwnd); + } + return 0; + } break; + /* The following cases concerning key events and focus events + (WM_SYSKEYDOWN upto WM_GETDLGCODE) have been copied from CustomControlProcedure. + */ + case WM_SYSKEYDOWN: + case WM_KEYDOWN: + { + int c = 0; + HWND hwndParent; + + c = CheckVirtualKeyCode ((int) wParam); + + if (!c) + /* Ignore non-virtual keys, because they arrive as WM_SYSCHAR and WM_CHAR. */ + { + return DefWindowProc (hwnd, uMess, wParam, lParam); + } + /* Handle virtual keys analogously to keys received as WM_SYSCHAR and WM_CHAR. */ + hwndParent = GetControlParent (hwnd); /* if (gInKey) - { - if (gCurChar == c) - SendKeyStillDownToClean (hwndParent, hwnd, gCurChar); - else - { - SendKeyUpToClean (hwndParent, hwnd, gCurChar); - gCurChar = c; - SendKeyDownToClean (hwndParent, hwnd, gCurChar); - } - } - else - { - gCurChar = c; - SendKeyDownToClean (hwndParent, hwnd, gCurChar); - gInKey = TRUE; - } + { + if (gCurChar == c) + SendKeyStillDownToClean (hwndParent, hwnd, gCurChar); + else + { + SendKeyUpToClean (hwndParent, hwnd, gCurChar); + gCurChar = c; + SendKeyDownToClean (hwndParent, hwnd, gCurChar); + } + } + else + { + gCurChar = c; + SendKeyDownToClean (hwndParent, hwnd, gCurChar); + gInKey = TRUE; + } */ - return 0; - } - break; - case WM_SYSCHAR: - case WM_CHAR: - { - HWND hwndParent = GetControlParent (hwnd); + return 0; + } + break; + case WM_SYSCHAR: + case WM_CHAR: + { + HWND hwndParent = GetControlParent (hwnd); /* if (gInKey) - { - if (gCurChar == (int) wParam) - SendKeyStillDownToClean (hwndParent, hwnd, gCurChar); - else - { - SendKeyUpToClean (hwndParent, hwnd, gCurChar); - gCurChar = wParam; - SendKeyDownToClean (hwndParent, hwnd, gCurChar); - } - } - else - { - gCurChar = wParam; - SendKeyDownToClean (hwndParent, hwnd, gCurChar); - gInKey = TRUE; - } + { + if (gCurChar == (int) wParam) + SendKeyStillDownToClean (hwndParent, hwnd, gCurChar); + else + { + SendKeyUpToClean (hwndParent, hwnd, gCurChar); + gCurChar = wParam; + SendKeyDownToClean (hwndParent, hwnd, gCurChar); + } + } + else + { + gCurChar = wParam; + SendKeyDownToClean (hwndParent, hwnd, gCurChar); + gInKey = TRUE; + } */ - return 0; - } - break; - case WM_SYSKEYUP: - case WM_KEYUP: - { - if (gInKey) - SendKeyUpToClean (GetControlParent (hwnd), hwnd, gCurChar); - gInKey = FALSE; - gCurChar = 0; - return DefWindowProc (hwnd, uMess, wParam, lParam); - } - break; - case WM_KILLFOCUS: - { - HWND hwndParent = GetControlParent (hwnd); - if (gInKey) - SendKeyUpToClean (hwndParent, hwnd, gCurChar); - gInKey = FALSE; - gCurChar = 0; - /* WM_KILLFOCUS now also sends the CcWmKILLFOCUS message to - Clean (because of the ControlDeactivate attribute). - */ - SendMessage2ToClean (CcWmKILLFOCUS, hwndParent, hwnd); - return 0; - } - break; - case WM_SETFOCUS: - { - /* WM_SETFOCUS sends the CcWmSETFOCUS message to Clean because - of the ControlActivate attribute. - */ - SendMessage2ToClean (CcWmSETFOCUS, GetControlParent (hwnd), hwnd); - return 0; - } - break; - /* The WM_CLOSE event is generated when a user presses escape inside an EditControl that exists - within the CompoundControl which exists within a Dialog. - */ - case WM_CLOSE: - { - SendMessage1ToClean (CcWmCLOSE, GetControlParent (hwnd)); - return 0; - } - break; - case WM_GETDLGCODE: /* Inform dialog procedure to pass all keyboard input to the control. */ - return (DLGC_WANTCHARS | DLGC_WANTARROWS); - break; - case WM_DRAWITEM: - { - LPDRAWITEMSTRUCT lpdis; - lpdis = (LPDRAWITEMSTRUCT) lParam; - - switch (lpdis->CtlType) - { - case ODT_COMBOBOX: - { - char text[256]; - COLORREF forecolor, bkcolor; - SendMessage (lpdis->hwndItem, CB_GETLBTEXT, lpdis->itemID, (LPARAM) text); - if (lpdis->itemState & ODS_DISABLED) - { - forecolor = SetTextColor (lpdis->hDC, GetSysColor (COLOR_GRAYTEXT)); - bkcolor = SetBkColor (lpdis->hDC, GetSysColor (COLOR_3DFACE)); - } - else if (lpdis->itemState & ODS_SELECTED) - { - if (lpdis->itemData) - { - forecolor = SetTextColor (lpdis->hDC, GetSysColor (COLOR_HIGHLIGHTTEXT)); - bkcolor = SetBkColor (lpdis->hDC, GetSysColor (COLOR_HIGHLIGHT)); - } - else - { - forecolor = SetTextColor (lpdis->hDC, GetSysColor (COLOR_GRAYTEXT)); - bkcolor = SetBkColor (lpdis->hDC, GetSysColor (COLOR_WINDOW)); - } - } - else - { - if (lpdis->itemData) - forecolor = SetTextColor (lpdis->hDC, GetSysColor (COLOR_WINDOWTEXT)); - else - forecolor = SetTextColor (lpdis->hDC, GetSysColor (COLOR_GRAYTEXT)); - bkcolor = SetBkColor (lpdis->hDC, GetSysColor (COLOR_WINDOW)); - } - - ExtTextOut (lpdis->hDC, /* device context */ - lpdis->rcItem.left + 2, /* ref point x */ - lpdis->rcItem.top + 1, /* ref point y */ - ETO_CLIPPED | ETO_OPAQUE, /* options */ - &lpdis->rcItem, /* clipping rect */ - text, /* text to draw */ - lstrlen (text), /* length of text to draw */ - NULL /* no kerning array */ - ); - - SetTextColor (lpdis->hDC, forecolor); - SetBkColor (lpdis->hDC, bkcolor); - - if (lpdis->itemState & ODS_FOCUS) - DrawFocusRect (lpdis->hDC, &lpdis->rcItem); - return 0; - } break; - case ODT_BUTTON: - { - HWND parentwindow; - parentwindow = GetControlParent (hwnd); - - SendMessage3ToClean (CcWmDRAWCONTROL, parentwindow, lpdis->hwndItem, lpdis->hDC); - - if (lpdis->itemState & ODS_SELECTED) - InvertRect (lpdis->hDC, &lpdis->rcItem); - - if (lpdis->itemState & ODS_FOCUS) - DrawFocusRect (lpdis->hDC, &lpdis->rcItem); - return 0; - } break; - } - return 0; - } - break; - default: - return DefWindowProc (hwnd, uMess, wParam, lParam); - break; - } - ErrorExit ("Fatal error: case leak in CompoundControlProcedure (%d).",uMess); + return 0; + } + break; + case WM_SYSKEYUP: + case WM_KEYUP: + { + if (gInKey) + SendKeyUpToClean (GetControlParent (hwnd), hwnd, gCurChar); + gInKey = FALSE; + gCurChar = 0; + return DefWindowProc (hwnd, uMess, wParam, lParam); + } + break; + case WM_KILLFOCUS: + { + HWND hwndParent = GetControlParent (hwnd); + if (gInKey) + SendKeyUpToClean (hwndParent, hwnd, gCurChar); + gInKey = FALSE; + gCurChar = 0; + /* WM_KILLFOCUS now also sends the CcWmKILLFOCUS message to + Clean (because of the ControlDeactivate attribute). + */ + SendMessage2ToClean (CcWmKILLFOCUS, hwndParent, hwnd); + return 0; + } + break; + case WM_SETFOCUS: + { + /* WM_SETFOCUS sends the CcWmSETFOCUS message to Clean because + of the ControlActivate attribute. + */ + SendMessage2ToClean (CcWmSETFOCUS, GetControlParent (hwnd), hwnd); + return 0; + } + break; + /* The WM_CLOSE event is generated when a user presses escape inside an EditControl that exists + within the CompoundControl which exists within a Dialog. + */ + case WM_CLOSE: + { + SendMessage1ToClean (CcWmCLOSE, GetControlParent (hwnd)); + return 0; + } + break; + case WM_GETDLGCODE: /* Inform dialog procedure to pass all keyboard input to the control. */ + return (DLGC_WANTCHARS | DLGC_WANTARROWS); + break; + case WM_DRAWITEM: + { + LPDRAWITEMSTRUCT lpdis; + lpdis = (LPDRAWITEMSTRUCT) lParam; + + switch (lpdis->CtlType) + { + case ODT_COMBOBOX: + { + char text[256]; + COLORREF forecolor, bkcolor; + SendMessage (lpdis->hwndItem, CB_GETLBTEXT, lpdis->itemID, (LPARAM) text); + if (lpdis->itemState & ODS_DISABLED) + { + forecolor = SetTextColor (lpdis->hDC, GetSysColor (COLOR_GRAYTEXT)); + bkcolor = SetBkColor (lpdis->hDC, GetSysColor (COLOR_3DFACE)); + } + else if (lpdis->itemState & ODS_SELECTED) + { + if (lpdis->itemData) + { + forecolor = SetTextColor (lpdis->hDC, GetSysColor (COLOR_HIGHLIGHTTEXT)); + bkcolor = SetBkColor (lpdis->hDC, GetSysColor (COLOR_HIGHLIGHT)); + } + else + { + forecolor = SetTextColor (lpdis->hDC, GetSysColor (COLOR_GRAYTEXT)); + bkcolor = SetBkColor (lpdis->hDC, GetSysColor (COLOR_WINDOW)); + } + } + else + { + if (lpdis->itemData) + forecolor = SetTextColor (lpdis->hDC, GetSysColor (COLOR_WINDOWTEXT)); + else + forecolor = SetTextColor (lpdis->hDC, GetSysColor (COLOR_GRAYTEXT)); + bkcolor = SetBkColor (lpdis->hDC, GetSysColor (COLOR_WINDOW)); + } + + ExtTextOut (lpdis->hDC, /* device context */ + lpdis->rcItem.left + 2, /* ref point x */ + lpdis->rcItem.top + 1, /* ref point y */ + ETO_CLIPPED | ETO_OPAQUE, /* options */ + &lpdis->rcItem, /* clipping rect */ + text, /* text to draw */ + lstrlen (text), /* length of text to draw */ + NULL /* no kerning array */ + ); + + SetTextColor (lpdis->hDC, forecolor); + SetBkColor (lpdis->hDC, bkcolor); + + if (lpdis->itemState & ODS_FOCUS) + DrawFocusRect (lpdis->hDC, &lpdis->rcItem); + return 0; + } break; + case ODT_BUTTON: + { + HWND parentwindow; + parentwindow = GetControlParent (hwnd); + + SendMessage3ToClean (CcWmDRAWCONTROL, parentwindow, lpdis->hwndItem, lpdis->hDC); + + if (lpdis->itemState & ODS_SELECTED) + InvertRect (lpdis->hDC, &lpdis->rcItem); + + if (lpdis->itemState & ODS_FOCUS) + DrawFocusRect (lpdis->hDC, &lpdis->rcItem); + return 0; + } break; + } + return 0; + } + break; + default: + return DefWindowProc (hwnd, uMess, wParam, lParam); + break; + } + ErrorExit ("Fatal error: case leak in CompoundControlProcedure (%d).",uMess); } /* CompoundControlProcedure */ #endif /********************************************************************************************* - Cross call procedure implementations. - Eval corresponds with a CrossCallEntry generated by NewCrossCallEntry (nr,Eval). + Cross call procedure implementations. + Eval corresponds with a CrossCallEntry generated by NewCrossCallEntry (nr,Eval). *********************************************************************************************/ void EvalCcRqBEGINPAINT (CrossCallInfo *pcci) /* hwnd; HDC result. */ { /* HDC hdc; - hdc = BeginPaint ((HWND) pcci->p1, &gPaintStruct); + hdc = BeginPaint ((HWND) pcci->p1, &gPaintStruct); */ - rprintf("EvalCcRqBEGINPAINT -> not implemented\n"); - MakeReturn1Cci (pcci, (int64_t) NULL /*hdc*/); + rprintf("EvalCcRqBEGINPAINT -> not implemented\n"); + MakeReturn1Cci (pcci, (int64_t) NULL /*hdc*/); } void EvalCcRqENDPAINT (CrossCallInfo *pcci) /* hwnd; no result. */ { /* EndPaint ((HWND) pcci->p1, &gPaintStruct); */ - rprintf("EvalCcRqEndPaint -> not implemented\n"); - MakeReturn0Cci (pcci); + rprintf("EvalCcRqEndPaint -> not implemented\n"); + MakeReturn0Cci (pcci); } void EvalCcRqFAKEPAINT (CrossCallInfo *pcci) /* hwnd; no result. */ { /* HWND hwnd = (HWND) pcci->p1; - BeginPaint (hwnd, &gPaintStruct); - EndPaint (hwnd,&gPaintStruct); - InvalidateRect (hwnd, NULL, FALSE); + BeginPaint (hwnd, &gPaintStruct); + EndPaint (hwnd,&gPaintStruct); + InvalidateRect (hwnd, NULL, FALSE); */ - printf("EvalCcRqFAKEPAINT -> not implemented\n"); - MakeReturn0Cci (pcci); + printf("EvalCcRqFAKEPAINT -> not implemented\n"); + MakeReturn0Cci (pcci); } void EvalCcRqDESTROYMODALDIALOG (CrossCallInfo *pcci) /* hwnd; no result. */ { - GtkWidget *dialog; + GtkWidget *dialog; printf("EvalCcRqDESTROYMODALDIALOG\n"); dialog = GTK_WIDGET(pcci->p1); - gtk_dialog_response (GTK_DIALOG(dialog), 0); - MakeReturn0Cci (pcci); + gtk_dialog_response (GTK_DIALOG(dialog), 0); + MakeReturn0Cci (pcci); } void EvalCcRqDESTROYMDIDOCWINDOW (CrossCallInfo *pcci) /* hwndFrame, hwndClient, wPtr; no result. */ { - gint page_num; - GtkWidget *frame, *client, *window; + gint page_num; + GtkWidget *frame, *client, *window; printf("EvalCcRqDESTROYMDIDOCWINDOW\n"); - frame = GTK_WIDGET(pcci->p1); - client = GTK_WIDGET(pcci->p2); - window = GTK_WIDGET(pcci->p3); + frame = GTK_WIDGET(pcci->p1); + client = GTK_WIDGET(pcci->p2); + window = GTK_WIDGET(pcci->p3); - page_num = gtk_notebook_page_num(GTK_NOTEBOOK(client), window); - gtk_notebook_remove_page(GTK_NOTEBOOK(client), page_num); + page_num = gtk_notebook_page_num(GTK_NOTEBOOK(client), window); + gtk_notebook_remove_page(GTK_NOTEBOOK(client), page_num); - MakeReturn0Cci (pcci); + MakeReturn0Cci (pcci); } static gint client_expose_handler(GtkWidget *widget, GdkEventExpose *event, gpointer user_data) { printf("client_expose_handler\n"); - SendMessage6ToClean(CcWmPAINT, (int64_t)gtk_widget_get_parent(gtk_widget_get_parent(widget)), - event->area.x, - event->area.y, - event->area.x+event->area.width, - event->area.y+event->area.height, - (int64_t) GDK_DRAWABLE(event->window)); + SendMessage6ToClean(CcWmPAINT, (int64_t)gtk_widget_get_parent(gtk_widget_get_parent(widget)), + event->area.x, + event->area.y, + event->area.x+event->area.width, + event->area.y+event->area.height, + (int64_t) GDK_DRAWABLE(event->window)); - return GTK_WIDGET_GET_CLASS(widget)->expose_event(widget,event); + return GTK_WIDGET_GET_CLASS(widget)->expose_event(widget,event); } static void sw_focus_out_handler(GtkWidget *widget, GdkEventFocus *event, gpointer user_data) { printf("sw_focus_out_handler\n"); - if (gInKey) + if (gInKey) { - SendKeyUpToClean (widget, widget, gCurChar); + SendKeyUpToClean (widget, widget, gCurChar); } - gInKey = gtk_false(); - gCurChar = 0; + gInKey = gtk_false(); + gCurChar = 0; } static gboolean sw_button_press_handler(GtkWidget *widget, GdkEventButton *event, gpointer user_data) { printf("sw_button_press_handler\n"); - if (event->button == 1) - { - GtkWidget *client = gtk_widget_get_parent(widget); - - gInMouseDown = TRUE; - - switch (event->type) - { - case GDK_BUTTON_PRESS: - SendMessage6ToClean (CcWmMOUSE, client, client, BUTTONDOWN, event->x, event->y, GetModifiers()); - break; - case GDK_2BUTTON_PRESS: - SendMessage6ToClean (CcWmMOUSE, client, client, BUTTONDOUBLEDOWN, event->x, event->y, GetModifiers()); - break; - case GDK_3BUTTON_PRESS: - SendMessage6ToClean (CcWmMOUSE, client, client, BUTTONTRIPLEDOWN, event->x, event->y, GetModifiers()); - break; - } + if (event->button == 1) + { + GtkWidget *client = gtk_widget_get_parent(widget); + + gInMouseDown = TRUE; + + switch (event->type) + { + case GDK_BUTTON_PRESS: + SendMessage6ToClean (CcWmMOUSE, client, client, BUTTONDOWN, event->x, event->y, GetModifiers()); + break; + case GDK_2BUTTON_PRESS: + SendMessage6ToClean (CcWmMOUSE, client, client, BUTTONDOUBLEDOWN, event->x, event->y, GetModifiers()); + break; + case GDK_3BUTTON_PRESS: + SendMessage6ToClean (CcWmMOUSE, client, client, BUTTONTRIPLEDOWN, event->x, event->y, GetModifiers()); + break; + } return gtk_true(); - } + } return gtk_false(); } static gboolean sw_button_release_handler(GtkWidget *widget, GdkEventButton *event, gpointer user_data) { printf("sw_button_release_handler\n"); - if (event->button == 1) - { - GtkWidget *client = gtk_widget_get_parent(widget); + if (event->button == 1) + { + GtkWidget *client = gtk_widget_get_parent(widget); - gInMouseDown = FALSE; - SendMessage6ToClean (CcWmMOUSE, client, client, BUTTONUP, event->x, event->y, GetModifiers()); + gInMouseDown = FALSE; + SendMessage6ToClean (CcWmMOUSE, client, client, BUTTONUP, event->x, event->y, GetModifiers()); return gtk_true(); - } + } return gtk_false(); } static gboolean sw_motion_notify_handler(GtkWidget *widget, GdkEventMotion *event, gpointer user_data) { - GtkWidget *client; + GtkWidget *client; printf("sw_motion_notify_handler\n"); client = gtk_widget_get_parent(widget); - if (gInMouseDown) + if (gInMouseDown) { - SendMessage6ToClean(CcWmMOUSE, client, client, BUTTONSTILLDOWN, event->x, event->y, GetModifiers()); + SendMessage6ToClean(CcWmMOUSE, client, client, BUTTONSTILLDOWN, event->x, event->y, GetModifiers()); } else { - SendMessage6ToClean (CcWmMOUSE, client, client, BUTTONSTILLUP, event->x, event->y, GetModifiers()); + SendMessage6ToClean (CcWmMOUSE, client, client, BUTTONSTILLUP, event->x, event->y, GetModifiers()); } return gtk_true(); } static void client_size_allocate(GtkWidget *widget, GtkAllocation *allocation, gpointer user_data) { - GtkWidget *sw; + GtkWidget *sw; printf("client_size_allocate\n"); sw = GTK_WIDGET(user_data); - SendMessage4ToClean (CcWmSIZE, sw, allocation->width, allocation->height, (int)FALSE); + SendMessage4ToClean (CcWmSIZE, sw, allocation->width, allocation->height, (int)FALSE); } static void client_size_request(GtkWidget *widget, GtkRequisition *requisition, gpointer user_data) { printf("client_size_request\n"); - *requisition = *((GtkRequisition *) user_data); - printf("client_size_request(%d,%d)\n", requisition->width, requisition->height); + *requisition = *((GtkRequisition *) user_data); + printf("client_size_request(%d,%d)\n", requisition->width, requisition->height); } static gboolean client_delete_handler(GtkWidget *widget, GdkEvent *event, gpointer user_data) { - printf("client_delete_handler(%d,%d)\n", ((GtkRequisition *) user_data)->width, ((GtkRequisition *) user_data)->height); - g_free(((GtkRequisition*)user_data)); - return gtk_true(); + printf("client_delete_handler(%d,%d)\n", ((GtkRequisition *) user_data)->width, ((GtkRequisition *) user_data)->height); + g_free(((GtkRequisition*)user_data)); + return gtk_true(); } static void compute_height(GtkWidget *widget, gpointer data) { - GtkRequisition requisition; + GtkRequisition requisition; printf("compute_height\n"); - gtk_widget_size_request(widget,&requisition); - *((int *) data) += requisition.height; + gtk_widget_size_request(widget,&requisition); + *((int *) data) += requisition.height; } /* Create a SDI document window. */ void EvalCcRqCREATESDIDOCWINDOW (CrossCallInfo *pcci) /* textptr, frameptr, packed pos, w,h, flags; client ptr result. */ { - GtkWidget *window, *fixed, *box, *sw; - const gchar *pwintitle; - gint left, top, width, height; - GtkRequisition *requisition; + GtkWidget *window, *fixed, *box, *sw; + const gchar *pwintitle; + gint left, top, width, height; + GtkRequisition *requisition; printf("EvalCcRqCREATESDIDOCWINDOW\n"); - pwintitle = (const gchar *) pcci->p1; - window = GTK_WIDGET(pcci->p2); - left = pcci->p3>>16; - top = (pcci->p3<<16)>>16; - width = pcci->p4; - height = pcci->p5; - - requisition = g_new(GtkRequisition, 1); - requisition->width = 0; - requisition->height = 0; - - /* Adjust the pos and size of the frame window. */ - gtk_widget_set_uposition(window, left, top); - - if (pwintitle) - { - gtk_window_set_title(GTK_WINDOW(window), pwintitle); - } - - /* Create a Scrolled Window */ - sw = gtk_scrolled_window_new (NULL, NULL); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), - GTK_POLICY_AUTOMATIC, - GTK_POLICY_AUTOMATIC); - box = gtk_bin_get_child(GTK_BIN(window)); - gtk_box_pack_end (GTK_BOX (box), sw, TRUE, TRUE, 0); - - /* Create a Fixed Container */ - fixed = gtk_fixed_new(); - gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), fixed); - - /* Signals */ - gtk_signal_connect (GTK_OBJECT(fixed), "expose-event", - GTK_SIGNAL_FUNC(client_expose_handler), - NULL); - gtk_signal_connect (GTK_OBJECT(GTK_BIN(sw)->child), "focus-out-event", - GTK_SIGNAL_FUNC(sw_focus_out_handler), - NULL); - gtk_signal_connect (GTK_OBJECT(GTK_BIN(sw)->child), "button-press-event", - GTK_SIGNAL_FUNC(sw_button_press_handler), - NULL); - gtk_signal_connect (GTK_OBJECT(GTK_BIN(sw)->child), "button-release-event", - GTK_SIGNAL_FUNC(sw_button_release_handler), - NULL); - gtk_signal_connect (GTK_OBJECT(GTK_BIN(sw)->child), "motion_notify_event", - GTK_SIGNAL_FUNC(sw_motion_notify_handler), - NULL); - gtk_signal_connect (GTK_OBJECT(fixed), "size-allocate", - GTK_SIGNAL_FUNC(client_size_allocate), - sw); - gtk_signal_connect (GTK_OBJECT(fixed), "size-request", - GTK_SIGNAL_FUNC(client_size_request), - requisition); - gtk_signal_connect (GTK_OBJECT(fixed), "delete-event", - GTK_SIGNAL_FUNC(client_delete_handler), - requisition); + pwintitle = (const gchar *) pcci->p1; + window = GTK_WIDGET(pcci->p2); + left = pcci->p3>>16; + top = (pcci->p3<<16)>>16; + width = pcci->p4; + height = pcci->p5; + + requisition = g_new(GtkRequisition, 1); + requisition->width = 0; + requisition->height = 0; + + /* Adjust the pos and size of the frame window. */ + gtk_widget_set_uposition(window, left, top); + + if (pwintitle) + { + gtk_window_set_title(GTK_WINDOW(window), pwintitle); + } + + /* Create a Scrolled Window */ + sw = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), + GTK_POLICY_AUTOMATIC, + GTK_POLICY_AUTOMATIC); + box = gtk_bin_get_child(GTK_BIN(window)); + gtk_box_pack_end (GTK_BOX (box), sw, TRUE, TRUE, 0); + + /* Create a Fixed Container */ + fixed = gtk_fixed_new(); + gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), fixed); + + /* Signals */ + gtk_signal_connect (GTK_OBJECT(fixed), "expose-event", + GTK_SIGNAL_FUNC(client_expose_handler), + NULL); + gtk_signal_connect (GTK_OBJECT(GTK_BIN(sw)->child), "focus-out-event", + GTK_SIGNAL_FUNC(sw_focus_out_handler), + NULL); + gtk_signal_connect (GTK_OBJECT(GTK_BIN(sw)->child), "button-press-event", + GTK_SIGNAL_FUNC(sw_button_press_handler), + NULL); + gtk_signal_connect (GTK_OBJECT(GTK_BIN(sw)->child), "button-release-event", + GTK_SIGNAL_FUNC(sw_button_release_handler), + NULL); + gtk_signal_connect (GTK_OBJECT(GTK_BIN(sw)->child), "motion_notify_event", + GTK_SIGNAL_FUNC(sw_motion_notify_handler), + NULL); + gtk_signal_connect (GTK_OBJECT(fixed), "size-allocate", + GTK_SIGNAL_FUNC(client_size_allocate), + sw); + gtk_signal_connect (GTK_OBJECT(fixed), "size-request", + GTK_SIGNAL_FUNC(client_size_request), + requisition); + gtk_signal_connect (GTK_OBJECT(fixed), "delete-event", + GTK_SIGNAL_FUNC(client_delete_handler), + requisition); g_object_set_data(G_OBJECT(sw), SCROLL_SIZE_KEY, (gpointer)requisition); - SendMessage1ToClean (CcWmCREATE, sw); + SendMessage1ToClean (CcWmCREATE, sw); - gtk_widget_realize(window); + gtk_widget_realize(window); - { - gint depth; - GdkRectangle ext_rect, rect; + { + gint depth; + GdkRectangle ext_rect, rect; - gdk_window_get_geometry(window->window, &rect.x, &rect.y, &rect.width, &rect.height, &depth); - gdk_window_get_frame_extents (window->window,&ext_rect); + gdk_window_get_geometry(window->window, &rect.x, &rect.y, &rect.width, &rect.height, &depth); + gdk_window_get_frame_extents (window->window,&ext_rect); - gtk_container_foreach(GTK_CONTAINER(GTK_BIN(window)->child), compute_height, &ext_rect.height); + gtk_container_foreach(GTK_CONTAINER(GTK_BIN(window)->child), compute_height, &ext_rect.height); - gtk_window_set_default_size(GTK_WINDOW(window), width+(ext_rect.width - rect.width), height+(ext_rect.height - rect.height)); - } + gtk_window_set_default_size(GTK_WINDOW(window), width+(ext_rect.width - rect.width), height+(ext_rect.height - rect.height)); + } - gtk_widget_show_all(window); + gtk_widget_show_all(window); - gdk_window_set_events(GTK_BIN(sw)->child->window, - gdk_window_get_events(GTK_BIN(sw)->child->window) | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK); - fprintf(stderr,"EvalCcRqCREATESDIDOCWINDOW - window: %d sw: %d\n",window,sw); - MakeReturn1Cci (pcci, (int64_t) sw); + gdk_window_set_events(GTK_BIN(sw)->child->window, + gdk_window_get_events(GTK_BIN(sw)->child->window) | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK); + fprintf(stderr,"EvalCcRqCREATESDIDOCWINDOW - window: %d sw: %d\n",window,sw); + MakeReturn1Cci (pcci, (int64_t) sw); } /* Create MDI child window. */ void EvalCcRqCREATEMDIDOCWINDOW (CrossCallInfo *pcci) /* textptr, clientPtr, behindPtr, packed pos, packed size, flags; HWND result. */ { - GtkWidget *window, *fixed, *client, *behind, *sw; - const gchar *pwintitle; - gint left, top, width, height; - GtkRequisition *requisition; - gint index; + GtkWidget *window, *fixed, *client, *behind, *sw; + const gchar *pwintitle; + gint left, top, width, height; + GtkRequisition *requisition; + gint index; printf("EvalCcRqCREATEMDIDOCWINDOW\n"); - pwintitle = (const gchar *) pcci->p1; - client = GTK_WIDGET(pcci->p2); - behind = GTK_WIDGET(pcci->p3); - left = pcci->p4>>16; - top = (pcci->p4<<16)>>16; - width = pcci->p5>>16; - height = (pcci->p5<<16)>>16; - - window = gtk_widget_get_parent(gtk_widget_get_parent(client)); - - requisition = g_new(GtkRequisition, 1); - requisition->width = 0; - requisition->height = 0; - - /* Create a Scrolled Window */ - sw = gtk_scrolled_window_new (NULL, NULL); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), - GTK_POLICY_AUTOMATIC, - GTK_POLICY_AUTOMATIC); - index = gtk_notebook_page_num(GTK_NOTEBOOK(client), behind); - gtk_notebook_insert_page(GTK_NOTEBOOK(client), sw, - pwintitle ? gtk_label_new(pwintitle) : NULL, - index); - - /* Create a Fixed Container */ - fixed = gtk_fixed_new(); - gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), fixed); - - /* Signals */ - gtk_signal_connect (GTK_OBJECT(fixed), "expose-event", - GTK_SIGNAL_FUNC(client_expose_handler), - NULL); - gtk_signal_connect (GTK_OBJECT(GTK_BIN(sw)->child), "focus-out-event", - GTK_SIGNAL_FUNC(sw_focus_out_handler), - NULL); - gtk_signal_connect (GTK_OBJECT(GTK_BIN(sw)->child), "button-press-event", - GTK_SIGNAL_FUNC(sw_button_press_handler), - NULL); - gtk_signal_connect (GTK_OBJECT(GTK_BIN(sw)->child), "button-release-event", - GTK_SIGNAL_FUNC(sw_button_release_handler), - NULL); - gtk_signal_connect (GTK_OBJECT(GTK_BIN(sw)->child), "motion_notify_event", - GTK_SIGNAL_FUNC(sw_motion_notify_handler), - NULL); - gtk_signal_connect (GTK_OBJECT(fixed), "size-allocate", - GTK_SIGNAL_FUNC(client_size_allocate), - sw); - gtk_signal_connect (GTK_OBJECT(fixed), "size-request", - GTK_SIGNAL_FUNC(client_size_request), - requisition); - gtk_signal_connect (GTK_OBJECT(fixed), "delete-event", - GTK_SIGNAL_FUNC(client_delete_handler), - requisition); + pwintitle = (const gchar *) pcci->p1; + client = GTK_WIDGET(pcci->p2); + behind = GTK_WIDGET(pcci->p3); + left = pcci->p4>>16; + top = (pcci->p4<<16)>>16; + width = pcci->p5>>16; + height = (pcci->p5<<16)>>16; + + window = gtk_widget_get_parent(gtk_widget_get_parent(client)); + + requisition = g_new(GtkRequisition, 1); + requisition->width = 0; + requisition->height = 0; + + /* Create a Scrolled Window */ + sw = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), + GTK_POLICY_AUTOMATIC, + GTK_POLICY_AUTOMATIC); + index = gtk_notebook_page_num(GTK_NOTEBOOK(client), behind); + gtk_notebook_insert_page(GTK_NOTEBOOK(client), sw, + pwintitle ? gtk_label_new(pwintitle) : NULL, + index); + + /* Create a Fixed Container */ + fixed = gtk_fixed_new(); + gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), fixed); + + /* Signals */ + gtk_signal_connect (GTK_OBJECT(fixed), "expose-event", + GTK_SIGNAL_FUNC(client_expose_handler), + NULL); + gtk_signal_connect (GTK_OBJECT(GTK_BIN(sw)->child), "focus-out-event", + GTK_SIGNAL_FUNC(sw_focus_out_handler), + NULL); + gtk_signal_connect (GTK_OBJECT(GTK_BIN(sw)->child), "button-press-event", + GTK_SIGNAL_FUNC(sw_button_press_handler), + NULL); + gtk_signal_connect (GTK_OBJECT(GTK_BIN(sw)->child), "button-release-event", + GTK_SIGNAL_FUNC(sw_button_release_handler), + NULL); + gtk_signal_connect (GTK_OBJECT(GTK_BIN(sw)->child), "motion_notify_event", + GTK_SIGNAL_FUNC(sw_motion_notify_handler), + NULL); + gtk_signal_connect (GTK_OBJECT(fixed), "size-allocate", + GTK_SIGNAL_FUNC(client_size_allocate), + sw); + gtk_signal_connect (GTK_OBJECT(fixed), "size-request", + GTK_SIGNAL_FUNC(client_size_request), + requisition); + gtk_signal_connect (GTK_OBJECT(fixed), "delete-event", + GTK_SIGNAL_FUNC(client_delete_handler), + requisition); g_object_set_data(G_OBJECT(sw), SCROLL_SIZE_KEY, (gpointer)requisition); - SendMessage1ToClean (CcWmCREATE, sw); + SendMessage1ToClean (CcWmCREATE, sw); - gtk_widget_show_all(sw); - gtk_notebook_set_current_page(GTK_NOTEBOOK(client), gtk_notebook_page_num(GTK_NOTEBOOK(client),sw)); + gtk_widget_show_all(sw); + gtk_notebook_set_current_page(GTK_NOTEBOOK(client), gtk_notebook_page_num(GTK_NOTEBOOK(client),sw)); - gdk_window_set_events(GTK_BIN(sw)->child->window, - gdk_window_get_events(GTK_BIN(sw)->child->window) | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK); + gdk_window_set_events(GTK_BIN(sw)->child->window, + gdk_window_get_events(GTK_BIN(sw)->child->window) | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK); - MakeReturn1Cci (pcci, (int64_t) sw); + MakeReturn1Cci (pcci, (int64_t) sw); } void EvalCcRqSETWINDOWTITLE (CrossCallInfo *pcci) /* hwnd, textptr no result. */ { - GtkWidget *window; - gchar *title = (gchar *) pcci->p2; + GtkWidget *window; + gchar *title = (gchar *) pcci->p2; printf("EvalCcRqSETWINDOWTITLE\n"); - printf("Requested title (%p): %s\n", title, title); + printf("Requested title (%p): %s\n", title, title); window = GTK_WIDGET(pcci->p1); - if (GTK_IS_WINDOW(window)) - { - printf("Setting for window.\n"); - gtk_window_set_title(GTK_WINDOW(window), title); - } - else if (GTK_IS_LABEL(window)) - { - printf("Setting for label.\n"); - gtk_label_set_text(GTK_LABEL(window), title); - } - else if (GTK_IS_BUTTON(window)) - { - printf("Setting for button.\n"); - title = createMnemonicString(title); - gtk_button_set_label(GTK_BUTTON(window), title); - rfree(title); - } - else if (GTK_IS_ENTRY(window)) - { - printf("Setting for entry.\n"); - gtk_entry_set_text(GTK_ENTRY(window), title); - } - else if (GTK_IS_TEXT_VIEW(window)) - { - printf("Setting for text view.\n"); - GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(window)); - gtk_text_buffer_set_text (buffer, title, strlen(title)); - } - else - { - printf("EvalCcRqSETWINDOWTITLE -> unknown widget type\n"); - } - - MakeReturn0Cci (pcci); + if (GTK_IS_WINDOW(window)) + { + printf("Setting for window.\n"); + gtk_window_set_title(GTK_WINDOW(window), title); + } + else if (GTK_IS_LABEL(window)) + { + printf("Setting for label.\n"); + gtk_label_set_text(GTK_LABEL(window), title); + } + else if (GTK_IS_BUTTON(window)) + { + printf("Setting for button.\n"); + title = createMnemonicString(title); + gtk_button_set_label(GTK_BUTTON(window), title); + rfree(title); + } + else if (GTK_IS_ENTRY(window)) + { + printf("Setting for entry.\n"); + gtk_entry_set_text(GTK_ENTRY(window), title); + } + else if (GTK_IS_TEXT_VIEW(window)) + { + printf("Setting for text view.\n"); + GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(window)); + gtk_text_buffer_set_text (buffer, title, strlen(title)); + } + else + { + printf("EvalCcRqSETWINDOWTITLE -> unknown widget type\n"); + } + + MakeReturn0Cci (pcci); } void EvalCcRqGETWINDOWTEXT (CrossCallInfo *pcci) /* hwnd; textptr result. */ { - G_CONST_RETURN gchar *title = NULL; + G_CONST_RETURN gchar *title = NULL; GtkWidget *window; - gchar *textptr; + gchar *textptr; printf("EvalCcRqGETWINDOWTEXT\n"); - window = GTK_WIDGET(pcci->p1); + window = GTK_WIDGET(pcci->p1); - if (GTK_IS_WINDOW(window)) + if (GTK_IS_WINDOW(window)) { - title = gtk_window_get_title(GTK_WINDOW(window)); + title = gtk_window_get_title(GTK_WINDOW(window)); } - else + else { - if (GTK_IS_LABEL(window)) + if (GTK_IS_LABEL(window)) { - title = gtk_label_get_text(GTK_LABEL(window)); + title = gtk_label_get_text(GTK_LABEL(window)); } else { - if (GTK_IS_BUTTON(window)) + if (GTK_IS_BUTTON(window)) { - title = gtk_button_get_label(GTK_BUTTON(window)); + title = gtk_button_get_label(GTK_BUTTON(window)); } - else + else { - if (GTK_IS_ENTRY(window)) + if (GTK_IS_ENTRY(window)) { - title = gtk_entry_get_text(GTK_ENTRY(window)); + title = gtk_entry_get_text(GTK_ENTRY(window)); } - else + else { - if (GTK_IS_TEXT_VIEW(window)) - { - GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(window)); - GtkTextIter start, end; - - gtk_text_buffer_get_start_iter(buffer, &start); - gtk_text_buffer_get_end_iter(buffer, &end); - title = gtk_text_buffer_get_text (buffer, &start, &end, gtk_true()); - } - else + if (GTK_IS_TEXT_VIEW(window)) { - printf("EvalCcRqSETWINDOWTITLE -> unknown widget type"); + GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(window)); + GtkTextIter start, end; + + gtk_text_buffer_get_start_iter(buffer, &start); + gtk_text_buffer_get_end_iter(buffer, &end); + title = gtk_text_buffer_get_text (buffer, &start, &end, gtk_true()); + } + else + { + printf("EvalCcRqSETWINDOWTITLE -> unknown widget type"); } } } } } - if (GTK_IS_BUTTON(window)) + if (GTK_IS_BUTTON(window)) { - textptr = createMnemonicString((gchar*) title); + textptr = createMnemonicString((gchar*) title); } else { - textptr = g_strdup(title); + textptr = g_strdup(title); } - MakeReturn1Cci (pcci, (int64_t) textptr); + MakeReturn1Cci (pcci, (int64_t) textptr); } /* Update rect part of a window. */ void EvalCcRqUPDATEWINDOWRECT (CrossCallInfo *pcci) /* hwnd, left,top,right,bottom; no result. */ { /* RECT rect; - HWND hwnd; + HWND hwnd; - hwnd = (HWND) pcci->p1; - rect.left = pcci->p2; - rect.top = pcci->p3; - rect.right = pcci->p4; - rect.bottom= pcci->p5; + hwnd = (HWND) pcci->p1; + rect.left = pcci->p2; + rect.top = pcci->p3; + rect.right = pcci->p4; + rect.bottom= pcci->p5; - InvalidateRect (hwnd,&rect,FALSE); - UpdateWindow (hwnd); - RedrawWindow (hwnd,&rect,NULL,RDW_FRAME | RDW_VALIDATE | RDW_UPDATENOW | RDW_NOCHILDREN); + InvalidateRect (hwnd,&rect,FALSE); + UpdateWindow (hwnd); + RedrawWindow (hwnd,&rect,NULL,RDW_FRAME | RDW_VALIDATE | RDW_UPDATENOW | RDW_NOCHILDREN); */ - printf("EvalCcRqUPDATEWINDOWRECT -> not implemented\n"); - MakeReturn0Cci (pcci); + printf("EvalCcRqUPDATEWINDOWRECT -> not implemented\n"); + MakeReturn0Cci (pcci); } /* Set the ClientRect. */ void EvalCcRqSETCLIENTSIZE (CrossCallInfo *pcci) /* hwnd, width, height; no result. */ { /* HWND hwnd; - int w,h,curw,curh,clientw,clienth; - UINT flags; - RECT clientRect,windowRect; - - hwnd = (HWND) pcci->p1; - w = pcci->p2; - h = pcci->p3; - flags = SWP_NOMOVE // retain position - | SWP_NOZORDER; // retain Z order - - GetClientRect (hwnd, &clientRect); - GetWindowRect (hwnd, &windowRect); - clientw = clientRect.right - clientRect.left; - clienth = clientRect.bottom- clientRect.top; - curw = windowRect.right - windowRect.left; - curh = windowRect.bottom- windowRect.top; - - SetWindowPos (hwnd, HWND_TOP, 0,0, curw+w-clientw,curh+h-clienth, flags);*/ - printf("EvalCcRqSETCLIENTSIZE -> not implemented\n"); - MakeReturn0Cci (pcci); + int w,h,curw,curh,clientw,clienth; + UINT flags; + RECT clientRect,windowRect; + + hwnd = (HWND) pcci->p1; + w = pcci->p2; + h = pcci->p3; + flags = SWP_NOMOVE // retain position + | SWP_NOZORDER; // retain Z order + + GetClientRect (hwnd, &clientRect); + GetWindowRect (hwnd, &windowRect); + clientw = clientRect.right - clientRect.left; + clienth = clientRect.bottom- clientRect.top; + curw = windowRect.right - windowRect.left; + curh = windowRect.bottom- windowRect.top; + + SetWindowPos (hwnd, HWND_TOP, 0,0, curw+w-clientw,curh+h-clienth, flags);*/ + printf("EvalCcRqSETCLIENTSIZE -> not implemented\n"); + MakeReturn0Cci (pcci); } /* (En/Dis)able windows/dialogues. */ void EvalCcRqSETSELECTWINDOW (CrossCallInfo *pcci) /* hwnd, hasHScroll, hasVScroll, toAble, modalContext; no result. */ { #if 0 - HWND window; - BOOL hasHScroll, hasVScroll, toAble, modalContext; - - window = (HWND) pcci->p1; - hasHScroll = (BOOL) pcci->p2; - hasVScroll = (BOOL) pcci->p3; - toAble = (BOOL) pcci->p4; - modalContext = (BOOL) pcci->p5; - - if (modalContext) /* if not a modal context, then do not disable window */ - EnableWindow (window,toAble); /* because it can't be moved, or closed. */ - if (hasHScroll) - EnableScrollBar (window,SB_HORZ,toAble ? ESB_ENABLE_BOTH : ESB_DISABLE_BOTH); - if (hasVScroll) - EnableScrollBar (window,SB_VERT,toAble ? ESB_ENABLE_BOTH : ESB_DISABLE_BOTH); + HWND window; + BOOL hasHScroll, hasVScroll, toAble, modalContext; + + window = (HWND) pcci->p1; + hasHScroll = (BOOL) pcci->p2; + hasVScroll = (BOOL) pcci->p3; + toAble = (BOOL) pcci->p4; + modalContext = (BOOL) pcci->p5; + + if (modalContext) /* if not a modal context, then do not disable window */ + EnableWindow (window,toAble); /* because it can't be moved, or closed. */ + if (hasHScroll) + EnableScrollBar (window,SB_HORZ,toAble ? ESB_ENABLE_BOTH : ESB_DISABLE_BOTH); + if (hasVScroll) + EnableScrollBar (window,SB_VERT,toAble ? ESB_ENABLE_BOTH : ESB_DISABLE_BOTH); #endif - printf("EvalCcRqSETSELECTWINDOW -> not implemented\n"); - MakeReturn0Cci (pcci); + printf("EvalCcRqSETSELECTWINDOW -> not implemented\n"); + MakeReturn0Cci (pcci); } /* Set the position of windows/controls. */ void EvalCcRqSETWINDOWPOS (CrossCallInfo *pcci) /* hwnd, x,y, update, include scrollbars ; no result. */ { - GtkWidget *widget, *parent; - int x,y; - gboolean update,inclScrollbars; + GtkWidget *widget, *parent; + int x,y; + gboolean update,inclScrollbars; printf("EvalCcRqSETWINDOWPOS\n"); - widget = GTK_WIDGET(pcci->p1); - x = pcci->p2; - y = pcci->p3; - update = pcci->p4; - inclScrollbars = pcci->p5; - parent = gtk_widget_get_parent(widget); + widget = GTK_WIDGET(pcci->p1); + x = pcci->p2; + y = pcci->p3; + update = pcci->p4; + inclScrollbars = pcci->p5; + parent = gtk_widget_get_parent(widget); - if (parent) + if (parent) { - gtk_fixed_move(GTK_FIXED(parent), widget, x, y); + gtk_fixed_move(GTK_FIXED(parent), widget, x, y); } else { - gtk_widget_set_uposition(widget, x, y); + gtk_widget_set_uposition(widget, x, y); } - if (GTK_WIDGET_VISIBLE(widget) && update!=0) - { // only if window is visible and update is requested, proceed to enforce update. - if (inclScrollbars) - { - } - else - { - gtk_widget_queue_draw(widget); - } - } + if (GTK_WIDGET_VISIBLE(widget) && update!=0) + { // only if window is visible and update is requested, proceed to enforce update. + if (inclScrollbars) + { + } + else + { + gtk_widget_queue_draw(widget); + } + } - MakeReturn0Cci (pcci); + MakeReturn0Cci (pcci); } /* Get the size of the bounding rectangle of windows/controls. */ void EvalCcRqGETWINDOWSIZE (CrossCallInfo *pcci) /* hwnd; width,height result. */ { - GtkAllocation *alloc; + GtkAllocation *alloc; printf("EvalCcRqGETWINDOWSIZE\n"); alloc = &((GTK_WIDGET(pcci->p1))->allocation); - MakeReturn2Cci (pcci, alloc->width, alloc->height); + MakeReturn2Cci (pcci, alloc->width, alloc->height); } /* Set the size of windows/controls. */ void EvalCcRqSETWINDOWSIZE (CrossCallInfo *pcci) /* hwnd, w,h, update; no result. */ { - GtkWindow *window; - gint width, height; - gboolean update,inclScrollbars; + GtkWindow *window; + gint width, height; + gboolean update,inclScrollbars; /* printf("EvalCcRqSETWINDOWSIZE\n"); */ - window = GTK_WINDOW(pcci->p1); - width = pcci->p2; - height = pcci->p3; - update = pcci->p4; - gtk_window_resize(window, width, height); + window = GTK_WINDOW(pcci->p1); + width = pcci->p2; + height = pcci->p3; + update = pcci->p4; + gtk_window_resize(window, width, height); #if 0 - if (update!=0) /* still, updates are not sufficient using SetWindowPos only. */ - UpdateWindowScrollbars (hwnd); + if (update!=0) /* still, updates are not sufficient using SetWindowPos only. */ + UpdateWindowScrollbars (hwnd); #endif - MakeReturn0Cci (pcci); + MakeReturn0Cci (pcci); } /* Activate control. */ void EvalCcRqACTIVATECONTROL (CrossCallInfo *pcci) /* controlPtr; no result. */ { printf("EvalCcRqACTIVATERCONTROL\n"); - gtk_widget_grab_focus(GTK_WIDGET(pcci->p1)); - MakeReturn0Cci (pcci); + gtk_widget_grab_focus(GTK_WIDGET(pcci->p1)); + MakeReturn0Cci (pcci); } /* Activate window. */ void EvalCcRqACTIVATEWINDOW (CrossCallInfo *pcci) /* isMDI, clientPtr, thisWindow; no result. */ { - gboolean isMDI; - GtkWidget *client, *thisWindow; + gboolean isMDI; + GtkWidget *client, *thisWindow; printf("EvalCcRqACTIVATEWINDOW\n"); - isMDI = (gboolean) pcci->p1; - client = GTK_WIDGET(pcci->p2); - thisWindow = GTK_WIDGET(pcci->p3); + isMDI = (gboolean) pcci->p1; + client = GTK_WIDGET(pcci->p2); + thisWindow = GTK_WIDGET(pcci->p3); - if (isMDI) + if (isMDI) { - gtk_notebook_set_page(GTK_NOTEBOOK(client), gtk_notebook_page_num(GTK_NOTEBOOK(client), thisWindow)); + gtk_notebook_set_page(GTK_NOTEBOOK(client), gtk_notebook_page_num(GTK_NOTEBOOK(client), thisWindow)); } - else + else { - gtk_window_activate_focus (GTK_WINDOW(thisWindow)); + gtk_window_activate_focus (GTK_WINDOW(thisWindow)); } - MakeReturn0Cci (pcci); + MakeReturn0Cci (pcci); } static unsigned char hidden_cursor_bits[] = { @@ -1075,72 +1075,72 @@ static unsigned char hidden_cursor_bits[] = { static GdkColor black_color = { 0, 0, 0, 0 }; void EvalCcRqCHANGEWINDOWCURSOR (CrossCallInfo *pcci) /* hwnd, cursor code; no result. It is assumed that the hwnd argument */ - /* corresponds to either a SDI/MDI window (and not frame). */ + /* corresponds to either a SDI/MDI window (and not frame). */ { - GtkWidget *widget; - int cursorcode; + GtkWidget *widget; + int cursorcode; printf("EvalCcRqCHANGEWINDOWCURSOR\n"); - widget = GTK_BIN(GTK_BIN(GTK_WIDGET(pcci->p1))->child)->child; - cursorcode = pcci->p2; - - switch (cursorcode) - { - case CURSARROW: - if (!gArrowCursor) - { - gArrowCursor = gdk_cursor_new(GDK_ARROW); - }; - - gdk_window_set_cursor(widget->window, gArrowCursor); - break; - case CURSBUSY: - if (!gBusyCursor) - { - gBusyCursor = gdk_cursor_new(GDK_CLOCK); - }; - - gdk_window_set_cursor(widget->window, gBusyCursor); - break; - case CURSIBEAM: - if (!gIBeamCursor) - { - gIBeamCursor = gdk_cursor_new(GDK_XTERM); - }; - - gdk_window_set_cursor(widget->window, gIBeamCursor); - break; - case CURSCROSS: - if (!gCrossCursor) - { - gCrossCursor = gdk_cursor_new(GDK_CROSSHAIR); - }; - - gdk_window_set_cursor(widget->window, gCrossCursor); - break; - case CURSFATCROSS: - if (!gFatCrossCursor) - { - gFatCrossCursor = gdk_cursor_new(GDK_CROSS); - }; - - gdk_window_set_cursor(widget->window, gFatCrossCursor); - break; - case CURSHIDDEN: - if (!gHiddenCursor) - { - GdkPixmap *pixmap; - - pixmap = gdk_bitmap_create_from_data (NULL, hidden_cursor_bits, 16, 16); - gHiddenCursor = gdk_cursor_new_from_pixmap (pixmap, pixmap, &black_color, &black_color, 8, 8); - gdk_pixmap_unref (pixmap); - }; - - gdk_window_set_cursor(widget->window, gHiddenCursor); - break; - } - - MakeReturn0Cci (pcci); + widget = GTK_BIN(GTK_BIN(GTK_WIDGET(pcci->p1))->child)->child; + cursorcode = pcci->p2; + + switch (cursorcode) + { + case CURSARROW: + if (!gArrowCursor) + { + gArrowCursor = gdk_cursor_new(GDK_ARROW); + }; + + gdk_window_set_cursor(widget->window, gArrowCursor); + break; + case CURSBUSY: + if (!gBusyCursor) + { + gBusyCursor = gdk_cursor_new(GDK_CLOCK); + }; + + gdk_window_set_cursor(widget->window, gBusyCursor); + break; + case CURSIBEAM: + if (!gIBeamCursor) + { + gIBeamCursor = gdk_cursor_new(GDK_XTERM); + }; + + gdk_window_set_cursor(widget->window, gIBeamCursor); + break; + case CURSCROSS: + if (!gCrossCursor) + { + gCrossCursor = gdk_cursor_new(GDK_CROSSHAIR); + }; + + gdk_window_set_cursor(widget->window, gCrossCursor); + break; + case CURSFATCROSS: + if (!gFatCrossCursor) + { + gFatCrossCursor = gdk_cursor_new(GDK_CROSS); + }; + + gdk_window_set_cursor(widget->window, gFatCrossCursor); + break; + case CURSHIDDEN: + if (!gHiddenCursor) + { + GdkPixmap *pixmap; + + pixmap = gdk_bitmap_create_from_data (NULL, hidden_cursor_bits, 16, 16); + gHiddenCursor = gdk_cursor_new_from_pixmap (pixmap, pixmap, &black_color, &black_color, 8, 8); + gdk_pixmap_unref (pixmap); + }; + + gdk_window_set_cursor(widget->window, gHiddenCursor); + break; + } + + MakeReturn0Cci (pcci); } void EvalCcRqOBSCURECURSOR (CrossCallInfo *pcci) /* no params; no result. */ @@ -1152,11 +1152,11 @@ void EvalCcRqOBSCURECURSOR (CrossCallInfo *pcci) /* no params; no result. */ if (!gHiddenCursor) { - GdkPixmap *pixmap; + GdkPixmap *pixmap; - pixmap = gdk_bitmap_create_from_data (NULL, hidden_cursor_bits, 16, 16); - gHiddenCursor = gdk_cursor_new_from_pixmap (pixmap, pixmap, &black_color, &black_color, 8, 8); - gdk_pixmap_unref (pixmap); + pixmap = gdk_bitmap_create_from_data (NULL, hidden_cursor_bits, 16, 16); + gHiddenCursor = gdk_cursor_new_from_pixmap (pixmap, pixmap, &black_color, &black_color, 8, 8); + gdk_pixmap_unref (pixmap); }; gdk_window_set_cursor(widget->window, gHiddenCursor); @@ -1166,58 +1166,58 @@ void EvalCcRqOBSCURECURSOR (CrossCallInfo *pcci) /* no params; no result. */ void DeleteCursors() { printf("DeleteCursors\n"); - if (gArrowCursor) - { - gdk_cursor_destroy(gArrowCursor); - gArrowCursor = NULL; - } - - if (gBusyCursor) - { - gdk_cursor_destroy(gBusyCursor); - gIBeamCursor = NULL; - } - - if (gIBeamCursor) - { - gdk_cursor_destroy(gIBeamCursor); - gIBeamCursor = NULL; - } - - if (gCrossCursor) - { - gdk_cursor_destroy(gCrossCursor); - gCrossCursor = NULL; - } - - if (gFatCrossCursor) - { - gdk_cursor_destroy(gFatCrossCursor); - gFatCrossCursor = NULL; - } - - if (gHiddenCursor) - { - gdk_cursor_destroy(gHiddenCursor); - gHiddenCursor = NULL; - } + if (gArrowCursor) + { + gdk_cursor_destroy(gArrowCursor); + gArrowCursor = NULL; + } + + if (gBusyCursor) + { + gdk_cursor_destroy(gBusyCursor); + gIBeamCursor = NULL; + } + + if (gIBeamCursor) + { + gdk_cursor_destroy(gIBeamCursor); + gIBeamCursor = NULL; + } + + if (gCrossCursor) + { + gdk_cursor_destroy(gCrossCursor); + gCrossCursor = NULL; + } + + if (gFatCrossCursor) + { + gdk_cursor_destroy(gFatCrossCursor); + gFatCrossCursor = NULL; + } + + if (gHiddenCursor) + { + gdk_cursor_destroy(gHiddenCursor); + gHiddenCursor = NULL; + } } /* Set range of scrollbars. */ void EvalCcRqSETSCROLLRANGE (CrossCallInfo *pcci) /* hwnd, iBar, min, max, redraw, no result */ { - GtkWidget *widget, *parent; - GtkAdjustment *adj; - GtkRequisition *requisition; - gint iBar, min, max; - gboolean redraw; + GtkWidget *widget, *parent; + GtkAdjustment *adj; + GtkRequisition *requisition; + gint iBar, min, max; + gboolean redraw; printf("EvalCcRqSETSCROLLRANGE\n"); - widget = GTK_WIDGET(pcci->p1); - iBar = pcci->p2; - min = pcci->p3; - max = pcci->p4; - redraw = pcci->p5; + widget = GTK_WIDGET(pcci->p1); + iBar = pcci->p2; + min = pcci->p3; + max = pcci->p4; + redraw = pcci->p5; parent = (GtkWidget*) GTK_SCROLLED_WINDOW(gtk_widget_get_ancestor(widget, GTK_TYPE_SCROLLED_WINDOW)); @@ -1272,22 +1272,22 @@ void EvalCcRqSETSCROLLRANGE (CrossCallInfo *pcci) /* hwnd, iBar, min, max, redra printf("No adjustment to change.\n"); } - MakeReturn0Cci (pcci); + MakeReturn0Cci (pcci); } /* Set pos of scrollbars. */ void EvalCcRqSETSCROLLPOS (CrossCallInfo *pcci) /* hwnd, iBar, thumb, maxx, maxy, extent, no result */ { - GtkWidget *widget; + GtkWidget *widget; GtkAdjustment *adj; - gint thumb, iBar, maxx, maxy, extent; + gint thumb, iBar, maxx, maxy, extent; - widget = GTK_WIDGET(pcci->p1); - iBar = pcci->p2; - thumb = pcci->p3; - maxx = pcci->p4; // maxx is the right-most x coordinate of the enclosing rectangle of the scrollbar - maxy = pcci->p5; // maxy is the bottom-most y coordinate of the enclosing rectangle of the scrollbar - extent = pcci->p6; // extent is the width (height) of the vertical (horizontal) scrollbar + widget = GTK_WIDGET(pcci->p1); + iBar = pcci->p2; + thumb = pcci->p3; + maxx = pcci->p4; // maxx is the right-most x coordinate of the enclosing rectangle of the scrollbar + maxy = pcci->p5; // maxy is the bottom-most y coordinate of the enclosing rectangle of the scrollbar + extent = pcci->p6; // extent is the width (height) of the vertical (horizontal) scrollbar printf("EvalCcRqSETSCROLLPOS: %d\n", thumb); if (GTK_IS_SCROLLED_WINDOW(widget)) @@ -1304,26 +1304,26 @@ void EvalCcRqSETSCROLLPOS (CrossCallInfo *pcci) /* hwnd, iBar, thumb, maxx, maxy adj = gtk_range_get_adjustment(GTK_RANGE(widget)); } - gtk_adjustment_set_value(adj, (gdouble)thumb); + gtk_adjustment_set_value(adj, (gdouble)thumb); gtk_adjustment_value_changed(adj); - MakeReturn0Cci (pcci); + MakeReturn0Cci (pcci); } /* Set thumb size of scrollbars. */ void EvalCcRqSETSCROLLSIZE (CrossCallInfo *pcci) /* hwnd, iBar, size, maxx, maxy, extent, no result */ { - GtkWidget *widget, *parent; - GtkAdjustment *adj; - int size, iBar, maxx, maxy, extent; + GtkWidget *widget, *parent; + GtkAdjustment *adj; + int size, iBar, maxx, maxy, extent; printf("EvalCcRqSETSCROLLSIZE\n"); - widget = GTK_WIDGET(pcci->p1); - iBar = pcci->p2; - size = pcci->p3; - maxx = pcci->p4; // maxx is the right-most x coordinate of the enclosing rectangle of the scrollbar - maxy = pcci->p5; // maxy is the bottom-most y coordinate of the enclosing rectangle of the scrollbar - extent = pcci->p6; // extent is the width (height) of the vertical (horizontal) scrollbar + widget = GTK_WIDGET(pcci->p1); + iBar = pcci->p2; + size = pcci->p3; + maxx = pcci->p4; // maxx is the right-most x coordinate of the enclosing rectangle of the scrollbar + maxy = pcci->p5; // maxy is the bottom-most y coordinate of the enclosing rectangle of the scrollbar + extent = pcci->p6; // extent is the width (height) of the vertical (horizontal) scrollbar if (GTK_IS_SCROLLED_WINDOW(widget)) { @@ -1339,348 +1339,348 @@ void EvalCcRqSETSCROLLSIZE (CrossCallInfo *pcci) /* hwnd, iBar, size, maxx, maxy adj = gtk_range_get_adjustment(GTK_RANGE(widget)); } - adj->page_size = size; - gtk_adjustment_changed(adj); + adj->page_size = size; + gtk_adjustment_changed(adj); - MakeReturn0Cci (pcci); + MakeReturn0Cci (pcci); } /* Set selection of edit controls. */ void EvalCcRqSETEDITSELECTION (CrossCallInfo *pcci) /* hwnd, first, last, no result. */ { /* HWND hwnd; - int first,last; + int first,last; - hwnd = (HWND) pcci->p1; - first = pcci->p2; - last = pcci->p3; + hwnd = (HWND) pcci->p1; + first = pcci->p2; + last = pcci->p3; - SendMessage (hwnd, EM_SETSEL, (WPARAM) first, (LPARAM) last); // Set the selection of the edit control. - SendMessage (hwnd, EM_SCROLLCARET, 0,0); // Let the caret be displayed - (w/l)Param MUST be 0. + SendMessage (hwnd, EM_SETSEL, (WPARAM) first, (LPARAM) last); // Set the selection of the edit control. + SendMessage (hwnd, EM_SCROLLCARET, 0,0); // Let the caret be displayed - (w/l)Param MUST be 0. */ - printf("EvalCcRqSETEDITSELECTION -> not implemented\n"); - MakeReturn0Cci (pcci); + printf("EvalCcRqSETEDITSELECTION -> not implemented\n"); + MakeReturn0Cci (pcci); } static void dialog_focus_in_handler(GtkWidget *widget, GdkEventFocus *event, gpointer user_data) { printf("dialog_focus_in_handler\n"); - SendMessage1ToClean (CcWmACTIVATE, widget); - GTK_WIDGET_GET_CLASS(widget)->focus_in_event(widget, event); - gActiveTopLevelWindow = widget; + SendMessage1ToClean (CcWmACTIVATE, widget); + GTK_WIDGET_GET_CLASS(widget)->focus_in_event(widget, event); + gActiveTopLevelWindow = widget; } static void dialog_focus_out_handler(GtkWidget *widget, GdkEventFocus *event, gpointer user_data) { printf("dialog_focus_out_handler\n"); - SendMessage1ToClean (CcWmDEACTIVATE, widget); - GTK_WIDGET_GET_CLASS(widget)->focus_out_event(widget, event); - gActiveTopLevelWindow = NULL; + SendMessage1ToClean (CcWmDEACTIVATE, widget); + GTK_WIDGET_GET_CLASS(widget)->focus_out_event(widget, event); + gActiveTopLevelWindow = NULL; } static gboolean dialog_close_handler(GtkWidget *dialog, GdkEvent *event, gpointer user_data) { printf("dialog_close_handler\n"); - SendMessage1ToClean(CcWmCLOSE, (int64_t) dialog); - gtk_signal_emit_stop_by_name(GTK_OBJECT(dialog), "delete-event"); - return gtk_true(); + SendMessage1ToClean(CcWmCLOSE, (int64_t) dialog); + gtk_signal_emit_stop_by_name(GTK_OBJECT(dialog), "delete-event"); + return gtk_true(); } /* EvalCcRqCREATEDIALOG is now restricted to modeless dialogues only. */ void EvalCcRqCREATEDIALOG (CrossCallInfo *pcci) // textptr,parentptr,behindPtr; HWND result. { - GtkWidget *dialog, *fixed, *defctrl; - const gchar *pwintitle; - gint x, y, w, h; + GtkWidget *dialog, *fixed, *defctrl; + const gchar *pwintitle; + gint x, y, w, h; printf("EvalCcRqCREATEDIALOG\n"); - pwintitle = (const gchar *) pcci->p1; - - dialog = gtk_dialog_new(); - gtk_dialog_set_has_separator(GTK_DIALOG(dialog), gtk_true()); - gtk_window_set_resizable(GTK_WINDOW(dialog), gtk_false()); - gtk_signal_connect (GTK_OBJECT(dialog), "delete-event", - GTK_SIGNAL_FUNC(dialog_close_handler), - NULL); - gtk_signal_connect (GTK_OBJECT(dialog), "focus-in-event", - GTK_SIGNAL_FUNC(dialog_focus_in_handler), - NULL); - gtk_signal_connect (GTK_OBJECT(dialog), "focus-out-event", - GTK_SIGNAL_FUNC(dialog_focus_out_handler), - NULL); - - if (pwintitle) + pwintitle = (const gchar *) pcci->p1; + + dialog = gtk_dialog_new(); + gtk_dialog_set_has_separator(GTK_DIALOG(dialog), gtk_true()); + gtk_window_set_resizable(GTK_WINDOW(dialog), gtk_false()); + gtk_signal_connect (GTK_OBJECT(dialog), "delete-event", + GTK_SIGNAL_FUNC(dialog_close_handler), + NULL); + gtk_signal_connect (GTK_OBJECT(dialog), "focus-in-event", + GTK_SIGNAL_FUNC(dialog_focus_in_handler), + NULL); + gtk_signal_connect (GTK_OBJECT(dialog), "focus-out-event", + GTK_SIGNAL_FUNC(dialog_focus_out_handler), + NULL); + + if (pwintitle) { - gtk_window_set_title(GTK_WINDOW(dialog), pwintitle); + gtk_window_set_title(GTK_WINDOW(dialog), pwintitle); } - /* Create a Fixed Container */ - fixed = gtk_fixed_new(); - gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), fixed, TRUE, TRUE, 0); - gtk_widget_show(fixed); + /* Create a Fixed Container */ + fixed = gtk_fixed_new(); + gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), fixed, TRUE, TRUE, 0); + gtk_widget_show(fixed); - SendMessage1ToClean (CcWmINITDIALOG, (int64_t) dialog); + SendMessage1ToClean (CcWmINITDIALOG, (int64_t) dialog); - x = gCci.p1; - y = gCci.p2; - w = gCci.p3; - h = gCci.p4; - defctrl = GTK_WIDGET(gCci.p5); + x = gCci.p1; + y = gCci.p2; + w = gCci.p3; + h = gCci.p4; + defctrl = GTK_WIDGET(gCci.p5); - w += GTK_WINDOW(dialog)->frame_left + GTK_WINDOW(dialog)->frame_right; - h += GTK_WINDOW(dialog)->frame_top + GTK_WINDOW(dialog)->frame_bottom; + w += GTK_WINDOW(dialog)->frame_left + GTK_WINDOW(dialog)->frame_right; + h += GTK_WINDOW(dialog)->frame_top + GTK_WINDOW(dialog)->frame_bottom; - /* Adjust the pos and size of the frame window. */ - gtk_widget_set_size_request(dialog, w, h); - if (x == -1 && y == -1) + /* Adjust the pos and size of the frame window. */ + gtk_widget_set_size_request(dialog, w, h); + if (x == -1 && y == -1) { - gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER); + gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER); } - else + else { - gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_NONE); - gtk_widget_set_uposition(dialog, x, y); + gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_NONE); + gtk_widget_set_uposition(dialog, x, y); } - if (defctrl != NULL) - { + if (defctrl != NULL) + { printf("EvalCcRqCREATEDIALOG -- grab focus call\n"); - gtk_widget_grab_focus(defctrl); - } + gtk_widget_grab_focus(defctrl); + } - gtk_widget_show(dialog); + gtk_widget_show(dialog); printf("Dialog width: %d\n", w); - MakeReturn1Cci (pcci, (int64_t) dialog); + MakeReturn1Cci (pcci, (int64_t) dialog); } // Create modal dialogues. void EvalCcRqCREATEMODALDIALOG (CrossCallInfo *pcci) /* textptr,parentptr; error code result. */ { - GtkWidget *dialog, *fixed, *defctrl, *parent; - const gchar *pwintitle; - gint x, y, w, h; - guint delete_handler; + GtkWidget *dialog, *fixed, *defctrl, *parent; + const gchar *pwintitle; + gint x, y, w, h; + guint delete_handler; printf("EvalCcRqCREATEMODALDIALOG\n"); - pwintitle = (const gchar *) pcci->p1; - parent = GTK_WIDGET(pcci->p2); - - dialog = gtk_dialog_new(); - gtk_dialog_set_has_separator(GTK_DIALOG(dialog), gtk_false()); - gtk_window_set_resizable(GTK_WINDOW(dialog), gtk_false()); - gtk_signal_connect (GTK_OBJECT(dialog), "focus-in-event", - GTK_SIGNAL_FUNC(dialog_focus_in_handler), - NULL); - gtk_signal_connect (GTK_OBJECT(dialog), "focus-out-event", - GTK_SIGNAL_FUNC(dialog_focus_out_handler), - NULL); - gtk_signal_connect (GTK_OBJECT(dialog), "delete-event", - GTK_SIGNAL_FUNC(dialog_close_handler), - NULL); - - if (pwintitle) + pwintitle = (const gchar *) pcci->p1; + parent = GTK_WIDGET(pcci->p2); + + dialog = gtk_dialog_new(); + gtk_dialog_set_has_separator(GTK_DIALOG(dialog), gtk_false()); + gtk_window_set_resizable(GTK_WINDOW(dialog), gtk_false()); + gtk_signal_connect (GTK_OBJECT(dialog), "focus-in-event", + GTK_SIGNAL_FUNC(dialog_focus_in_handler), + NULL); + gtk_signal_connect (GTK_OBJECT(dialog), "focus-out-event", + GTK_SIGNAL_FUNC(dialog_focus_out_handler), + NULL); + gtk_signal_connect (GTK_OBJECT(dialog), "delete-event", + GTK_SIGNAL_FUNC(dialog_close_handler), + NULL); + + if (pwintitle) { - gtk_window_set_title(GTK_WINDOW(dialog), pwintitle); + gtk_window_set_title(GTK_WINDOW(dialog), pwintitle); } - /* Create a Fixed Container */ - fixed = gtk_fixed_new(); - gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), fixed, TRUE, TRUE, 0); - gtk_widget_show(fixed); + /* Create a Fixed Container */ + fixed = gtk_fixed_new(); + gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), fixed, TRUE, TRUE, 0); + gtk_widget_show(fixed); - SendMessage1ToClean (CcWmINITDIALOG, (int64_t) dialog); + SendMessage1ToClean (CcWmINITDIALOG, (int64_t) dialog); - x = gCci.p1; - y = gCci.p2; - w = gCci.p3; - h = gCci.p4; - defctrl = GTK_WIDGET(gCci.p5); + x = gCci.p1; + y = gCci.p2; + w = gCci.p3; + h = gCci.p4; + defctrl = GTK_WIDGET(gCci.p5); - w += GTK_WINDOW(dialog)->frame_left + GTK_WINDOW(dialog)->frame_right; - h += GTK_WINDOW(dialog)->frame_top + GTK_WINDOW(dialog)->frame_bottom; + w += GTK_WINDOW(dialog)->frame_left + GTK_WINDOW(dialog)->frame_right; + h += GTK_WINDOW(dialog)->frame_top + GTK_WINDOW(dialog)->frame_bottom; - /* Adjust the pos and size of the frame window. */ - gtk_widget_set_size_request(dialog, w, h); - if (x == -1 && y == -1) + /* Adjust the pos and size of the frame window. */ + gtk_widget_set_size_request(dialog, w, h); + if (x == -1 && y == -1) { - gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER); + gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER); } - else + else { - gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_NONE); - gtk_widget_set_uposition(dialog, x, y); + gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_NONE); + gtk_widget_set_uposition(dialog, x, y); } - if (defctrl != NULL) - { + if (defctrl != NULL) + { printf("EvalCcRqCREATEMODALDIALOG -- grab focus call\n"); - gtk_widget_grab_focus(defctrl); - } + gtk_widget_grab_focus(defctrl); + } - while (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_DELETE_EVENT); - gtk_widget_destroy(dialog); + while (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_DELETE_EVENT); + gtk_widget_destroy(dialog); - MakeReturn1Cci (pcci,0/*errorcode*/); + MakeReturn1Cci (pcci,0/*errorcode*/); } static gboolean widget_focus_in_handler(GtkWidget *widget, GdkEventFocus *event, gpointer user_data) { - GtkWidget *my_widget; + GtkWidget *my_widget; printf("widget_focus_in_handler\n"); my_widget = GTK_WIDGET(user_data); - GTK_WIDGET_GET_CLASS(widget)->focus_in_event(widget, event); - SendMessage2ToClean (CcWmSETFOCUS, GetControlParent(my_widget), my_widget); - return gtk_true(); + GTK_WIDGET_GET_CLASS(widget)->focus_in_event(widget, event); + SendMessage2ToClean (CcWmSETFOCUS, GetControlParent(my_widget), my_widget); + return gtk_true(); } static gboolean widget_focus_out_handler(GtkWidget *widget, GdkEventFocus *event, gpointer user_data) { - GtkWidget *my_widget, *parent; + GtkWidget *my_widget, *parent; printf("widget_focus_out_handler\n"); my_widget = GTK_WIDGET(user_data); - parent = GetControlParent(my_widget); - GTK_WIDGET_GET_CLASS(widget)->focus_in_event(widget, event); + parent = GetControlParent(my_widget); + GTK_WIDGET_GET_CLASS(widget)->focus_in_event(widget, event); - if (gInKey) - { - SendKeyUpToClean (parent, my_widget, gCurChar); - gInKey = FALSE; - gCurChar = 0; - } + if (gInKey) + { + SendKeyUpToClean (parent, my_widget, gCurChar); + gInKey = FALSE; + gCurChar = 0; + } - SendMessage2ToClean (CcWmKILLFOCUS, parent, my_widget); - return gtk_true(); + SendMessage2ToClean (CcWmKILLFOCUS, parent, my_widget); + return gtk_true(); } static gboolean widget_key_press_handler(GtkWidget *widget, GdkEventKey *event, gpointer user_data) { - GtkWidget *my_widget, *parent; + GtkWidget *my_widget, *parent; gint c; printf("widget_key_press_handler\n"); my_widget = GTK_WIDGET(user_data); parent = GetControlParent(my_widget); - c = (event->length > 0) ? + c = (event->length > 0) ? event->string[0] : CheckVirtualKeyCode (event->keyval); - if (!c) + if (!c) { return gtk_false(); } - if (event->keyval == GDK_Tab) + if (event->keyval == GDK_Tab) { - return gtk_false(); + return gtk_false(); } - GTK_WIDGET_GET_CLASS(widget)->key_press_event(widget, event); + GTK_WIDGET_GET_CLASS(widget)->key_press_event(widget, event); - if (gInKey) - { - if (gCurChar == c) + if (gInKey) + { + if (gCurChar == c) + { + SendKeyStillDownToClean (parent, my_widget, gCurChar); + } + else { - SendKeyStillDownToClean (parent, my_widget, gCurChar); + SendKeyUpToClean (parent, my_widget, gCurChar); + gCurChar = c; + SendKeyDownToClean (parent, my_widget, gCurChar); } - else - { - SendKeyUpToClean (parent, my_widget, gCurChar); - gCurChar = c; - SendKeyDownToClean (parent, my_widget, gCurChar); - } - } - else - { - gCurChar = c; - SendKeyDownToClean (parent, my_widget, gCurChar); - gInKey = TRUE; - } - - return gtk_true(); + } + else + { + gCurChar = c; + SendKeyDownToClean (parent, my_widget, gCurChar); + gInKey = TRUE; + } + + return gtk_true(); } static gboolean widget_key_release_handler(GtkWidget *widget, GdkEventKey *event, gpointer user_data) { - GtkWidget *my_widget; + GtkWidget *my_widget; printf("widget_key_release_handler\n"); my_widget = GTK_WIDGET(user_data); - if (event->keyval == GDK_Tab) + if (event->keyval == GDK_Tab) { - return gtk_false(); + return gtk_false(); } - GTK_WIDGET_GET_CLASS(widget)->key_press_event(widget, event); + GTK_WIDGET_GET_CLASS(widget)->key_press_event(widget, event); - if (gInKey) - { - SendKeyUpToClean (GetControlParent(my_widget), my_widget, gCurChar); - gInKey = FALSE; - gCurChar = 0; - } + if (gInKey) + { + SendKeyUpToClean (GetControlParent(my_widget), my_widget, gCurChar); + gInKey = FALSE; + gCurChar = 0; + } - return gtk_true(); + return gtk_true(); } static gboolean widget_button_press_handler(GtkWidget *widget, GdkEventButton *event, gpointer user_data) { printf("widget_button_press_handler\n"); - if (event->button == 1) - { - GtkWidget *parent = GetControlParent(widget); + if (event->button == 1) + { + GtkWidget *parent = GetControlParent(widget); printf("Widget_button_press_handler -- grab focus call\n"); - gtk_widget_grab_focus(widget); - - gInMouseDown = TRUE; - - switch (event->type) - { - case GDK_BUTTON_PRESS: - SendMessage6ToClean (CcWmMOUSE, parent, widget, BUTTONDOWN, event->x, event->y, GetModifiers()); - break; - case GDK_2BUTTON_PRESS: - SendMessage6ToClean (CcWmMOUSE, parent, widget, BUTTONDOUBLEDOWN, event->x, event->y, GetModifiers()); - break; - case GDK_3BUTTON_PRESS: - SendMessage6ToClean (CcWmMOUSE, parent, widget, BUTTONTRIPLEDOWN, event->x, event->y, GetModifiers()); - break; - } + gtk_widget_grab_focus(widget); + + gInMouseDown = TRUE; + + switch (event->type) + { + case GDK_BUTTON_PRESS: + SendMessage6ToClean (CcWmMOUSE, parent, widget, BUTTONDOWN, event->x, event->y, GetModifiers()); + break; + case GDK_2BUTTON_PRESS: + SendMessage6ToClean (CcWmMOUSE, parent, widget, BUTTONDOUBLEDOWN, event->x, event->y, GetModifiers()); + break; + case GDK_3BUTTON_PRESS: + SendMessage6ToClean (CcWmMOUSE, parent, widget, BUTTONTRIPLEDOWN, event->x, event->y, GetModifiers()); + break; + } return gtk_true(); - } + } return gtk_false(); } static gboolean widget_button_release_handler(GtkWidget *widget, GdkEventButton *event, gpointer user_data) { printf("widget_button_release_handler\n"); - if (event->button == 1) - { - GtkWidget *parent = GetControlParent(widget); + if (event->button == 1) + { + GtkWidget *parent = GetControlParent(widget); - gInMouseDown = FALSE; - SendMessage6ToClean (CcWmMOUSE, parent, widget, BUTTONUP, event->x, event->y, GetModifiers()); + gInMouseDown = FALSE; + SendMessage6ToClean (CcWmMOUSE, parent, widget, BUTTONUP, event->x, event->y, GetModifiers()); return gtk_true(); - } + } return gtk_false(); } static gboolean widget_motion_notify_handler(GtkWidget *widget, GdkEventMotion *event, gpointer user_data) { - GtkWidget *parent; + GtkWidget *parent; printf("widget_motion_notify_handler\n"); parent = GetControlParent(widget); - if (gInMouseDown) + if (gInMouseDown) { - SendMessage6ToClean(CcWmMOUSE, parent, widget, BUTTONSTILLDOWN, event->x, event->y, GetModifiers()); + SendMessage6ToClean(CcWmMOUSE, parent, widget, BUTTONSTILLDOWN, event->x, event->y, GetModifiers()); } else { - SendMessage6ToClean (CcWmMOUSE, parent, widget, BUTTONSTILLUP, event->x, event->y, GetModifiers()); + SendMessage6ToClean (CcWmMOUSE, parent, widget, BUTTONSTILLUP, event->x, event->y, GetModifiers()); } return gtk_true(); @@ -1690,42 +1690,42 @@ static gboolean widget_motion_notify_handler(GtkWidget *widget, GdkEventMotion * void EvalCcRqCREATECOMPOUND (CrossCallInfo *pcci) /* hwnd, packed pos,w,h, scrollbars, transparent; HWND result. */ { #if 0 - HWND parentwindow, compoundhandle; - int left,top, width,height; - int compoundstyle; - BOOL transparent; - DWORD compoundExStyle; - - parentwindow = (HWND) pcci->p1; - left = pcci->p2>>16; - top = (pcci->p2<<16)>>16; - width = pcci->p3; - height = pcci->p4; - compoundstyle = pcci->p5; - transparent = (BOOL) pcci->p6; - - compoundExStyle = WS_EX_CONTROLPARENT; - if (transparent) - compoundExStyle |= WS_EX_TRANSPARENT; - - compoundstyle |= WS_CHILD;// | WS_CLIPSIBLINGS; - - /* create the compound window */ - compoundhandle - = CreateWindowEx (compoundExStyle, /* Extended style */ - CompoundControlClassName, /* Class name */ - "", /* Window title */ - compoundstyle, /* style flags */ - left, top, /* x, y */ - width, height, /* width, height */ - parentwindow, /* Parent window */ - NULL, /* menu handle */ - (HANDLE) ghInst, /* Instance that owns the window */ - 0); - SetWindowPos (compoundhandle, HWND_BOTTOM, 0,0,0,0, SWP_NOMOVE+SWP_NOSIZE); // This should implement control stack + HWND parentwindow, compoundhandle; + int left,top, width,height; + int compoundstyle; + BOOL transparent; + DWORD compoundExStyle; + + parentwindow = (HWND) pcci->p1; + left = pcci->p2>>16; + top = (pcci->p2<<16)>>16; + width = pcci->p3; + height = pcci->p4; + compoundstyle = pcci->p5; + transparent = (BOOL) pcci->p6; + + compoundExStyle = WS_EX_CONTROLPARENT; + if (transparent) + compoundExStyle |= WS_EX_TRANSPARENT; + + compoundstyle |= WS_CHILD;// | WS_CLIPSIBLINGS; + + /* create the compound window */ + compoundhandle + = CreateWindowEx (compoundExStyle, /* Extended style */ + CompoundControlClassName, /* Class name */ + "", /* Window title */ + compoundstyle, /* style flags */ + left, top, /* x, y */ + width, height, /* width, height */ + parentwindow, /* Parent window */ + NULL, /* menu handle */ + (HANDLE) ghInst, /* Instance that owns the window */ + 0); + SetWindowPos (compoundhandle, HWND_BOTTOM, 0,0,0,0, SWP_NOMOVE+SWP_NOSIZE); // This should implement control stack #endif - printf("EvalCcRqCREATECOMPOUND -> not implemented\n"); - MakeReturn1Cci (pcci, (int64_t) NULL /*compoundhandle*/); + printf("EvalCcRqCREATECOMPOUND -> not implemented\n"); + MakeReturn1Cci (pcci, (int64_t) NULL /*compoundhandle*/); } static void scrollbar_value_changed(GtkRange *range, gpointer user_data) @@ -1749,9 +1749,9 @@ static void scrollbar_value_changed(GtkRange *range, gpointer user_data) /* - * GTK Handles a lot of the scrollbar plumbing internally. We have to fool the ObjectIO - * event loop a bit here. So, we just report a "SB_THUMBPOSITION" message, so it runs around - * notifying changes, but does not try to modify the scrollbar itself. + * GTK Handles a lot of the scrollbar plumbing internally. We have to fool the ObjectIO + * event loop a bit here. So, we just report a "SB_THUMBPOSITION" message, so it runs around + * notifying changes, but does not try to modify the scrollbar itself. */ scrollCode = SB_THUMBPOSITION; @@ -1776,13 +1776,13 @@ static void scrollbar_value_changed(GtkRange *range, gpointer user_data) g_object_set_data(G_OBJECT(range), SCROLL_POS_KEY, (gpointer)val); /* - * Force redraw of changed widget, but only during times when the - * scrollbar was moved by the user. + * Force redraw of changed widget, but only during times when the + * scrollbar was moved by the user. */ - if (discr != 0) { - SendMessage5ToClean(CcWmSCROLLBARACTION, parent, (int64_t)widget, + if (discr != 0) { + SendMessage5ToClean(CcWmSCROLLBARACTION, parent, (int64_t)widget, controlKind, scrollCode, position); - } + } gtk_widget_queue_draw(widget); } @@ -1790,63 +1790,63 @@ static void scrollbar_value_changed(GtkRange *range, gpointer user_data) /* Create scrollbars. */ void EvalCcRqCREATESCROLLBAR (CrossCallInfo *pcci) /* hwnd, x,y,w,h bool; HWND result. */ { - gint x, y, w, h; + gint x, y, w, h; gint *val; - GtkWidget *scroll; - GtkWidget *parent; - gboolean ishorizontal; + GtkWidget *scroll; + GtkWidget *parent; + gboolean ishorizontal; /* printf("EvalCcRqCREATESCROLLBAR\n"); */ if (pcci->p1 == 0) { - MakeReturn0Cci (pcci); + MakeReturn0Cci (pcci); } - parent = GTK_WIDGET(pcci->p1); - x = pcci->p2; - y = pcci->p3; - w = pcci->p4; - h = pcci->p5; - ishorizontal = pcci->p6; - - if (ishorizontal) + parent = GTK_WIDGET(pcci->p1); + x = pcci->p2; + y = pcci->p3; + w = pcci->p4; + h = pcci->p5; + ishorizontal = pcci->p6; + + if (ishorizontal) { - scroll = gtk_hscrollbar_new(NULL); + scroll = gtk_hscrollbar_new(NULL); } else { - scroll = gtk_vscrollbar_new(NULL); + scroll = gtk_vscrollbar_new(NULL); } - g_signal_connect(GTK_OBJECT(scroll), SCROLL_VALUE_CHANGED, G_CALLBACK(scrollbar_value_changed), parent);/*NULL);*/ + g_signal_connect(GTK_OBJECT(scroll), SCROLL_VALUE_CHANGED, G_CALLBACK(scrollbar_value_changed), parent);/*NULL);*/ val = g_new(gint,1); - gtk_widget_set_size_request(scroll, w, h); - gtk_fixed_put(GetFixed(parent), scroll, x, y); + gtk_widget_set_size_request(scroll, w, h); + gtk_fixed_put(GetFixed(parent), scroll, x, y); *val = 0; g_object_set_data(G_OBJECT(scroll), SCROLL_POS_KEY, (gpointer)val); printf("EvalCcRqCREATESCROLLBAR - %p,%p\n",parent,scroll); - MakeReturn1Cci (pcci, (int64_t) scroll); + MakeReturn1Cci (pcci, (int64_t) scroll); } static void button_clicked (GtkButton *button, gpointer user_data) { - GtkWidget *wbutton, *window; + GtkWidget *wbutton, *window; printf("button_clicked\n"); - wbutton = GTK_WIDGET(button); - window = GetControlParent(wbutton); + wbutton = GTK_WIDGET(button); + window = GetControlParent(wbutton); - switch (GPOINTER_TO_INT(user_data)) - { - case ISOKBUTTON: - SendMessage2ToClean (CcWmSPECIALBUTTON, window, ISOKBUTTON); - return; - case ISCANCELBUTTON: - SendMessage2ToClean (CcWmSPECIALBUTTON, window, ISCANCELBUTTON); - return; - default: - SendMessage4ToClean (CcWmBUTTONCLICKED, window, wbutton, GetModifiers (), 0); - return; - } + switch (GPOINTER_TO_INT(user_data)) + { + case ISOKBUTTON: + SendMessage2ToClean (CcWmSPECIALBUTTON, window, ISOKBUTTON); + return; + case ISCANCELBUTTON: + SendMessage2ToClean (CcWmSPECIALBUTTON, window, ISCANCELBUTTON); + return; + default: + SendMessage4ToClean (CcWmBUTTONCLICKED, window, wbutton, GetModifiers (), 0); + return; + } } static gint button_expose_handler(GtkWidget *widget, GdkEventExpose *event, gpointer user_data) @@ -1856,520 +1856,520 @@ static gint button_expose_handler(GtkWidget *widget, GdkEventExpose *event, gpoi button = gtk_widget_get_parent(widget); parent = gtk_widget_get_parent(gtk_widget_get_parent(gtk_widget_get_parent(button))); - SendMessage3ToClean(CcWmDRAWCONTROL, (int64_t) parent, (int64_t) button, (int64_t) GDK_DRAWABLE(event->window)); - return 0; + SendMessage3ToClean(CcWmDRAWCONTROL, (int64_t) parent, (int64_t) button, (int64_t) GDK_DRAWABLE(event->window)); + return 0; } void EvalCcRqCREATEBUTTON (CrossCallInfo *pcci) /* hwnd, x,y,w,h, kind; HWND result. */ { - GtkWidget *button, *parent; + GtkWidget *button, *parent; GtkRequisition asked; - gint x, y, w, h, kind; + gint x, y, w, h, kind; printf("EvalCcRqCREATEBUTTON\n"); - parent = GTK_WIDGET(pcci->p1); - x = pcci->p2; - y = pcci->p3; - w = pcci->p4; - h = pcci->p5; - kind = pcci->p6; - - if (kind==ISOKBUTTON) - { - button = gtk_button_new_from_stock("gtk-ok"); - } - else - { - if (kind==ISCANCELBUTTON) - { - button = gtk_button_new_from_stock("gtk-quit"); - } - else - { - button = gtk_button_new(); - gtk_button_set_use_underline(GTK_BUTTON(button), gtk_true()); - } - } - - gtk_signal_connect (GTK_OBJECT (button), "clicked", - GTK_SIGNAL_FUNC(button_clicked), - GINT_TO_POINTER(kind)); - gtk_widget_set_size_request(button, w, h); - gtk_fixed_put (GetFixed(parent), button, x, y); - - MakeReturn1Cci (pcci, (int64_t) button); + parent = GTK_WIDGET(pcci->p1); + x = pcci->p2; + y = pcci->p3; + w = pcci->p4; + h = pcci->p5; + kind = pcci->p6; + + if (kind==ISOKBUTTON) + { + button = gtk_button_new_from_stock("gtk-ok"); + } + else + { + if (kind==ISCANCELBUTTON) + { + button = gtk_button_new_from_stock("gtk-quit"); + } + else + { + button = gtk_button_new(); + gtk_button_set_use_underline(GTK_BUTTON(button), gtk_true()); + } + } + + gtk_signal_connect (GTK_OBJECT (button), "clicked", + GTK_SIGNAL_FUNC(button_clicked), + GINT_TO_POINTER(kind)); + gtk_widget_set_size_request(button, w, h); + gtk_fixed_put (GetFixed(parent), button, x, y); + + MakeReturn1Cci (pcci, (int64_t) button); } void EvalCcRqCREATEICONBUT (CrossCallInfo *pcci) /* hwnd, x,y,w,h,kind; HWND result. */ { - GtkWidget *button, *parent, *drawing_area; - gint x, y, w, h, kind; + GtkWidget *button, *parent, *drawing_area; + gint x, y, w, h, kind; printf("EvalCcRqCREATEICONBUT\n"); - parent = GTK_WIDGET(pcci->p1); - x = pcci->p2; - y = pcci->p3; - w = pcci->p4; - h = pcci->p5; - kind = pcci->p6; + parent = GTK_WIDGET(pcci->p1); + x = pcci->p2; + y = pcci->p3; + w = pcci->p4; + h = pcci->p5; + kind = pcci->p6; - button = gtk_button_new(); - drawing_area = gtk_drawing_area_new(); - gtk_container_add(GTK_CONTAINER(button), drawing_area); - gtk_signal_connect(GTK_OBJECT (button), "clicked", - GTK_SIGNAL_FUNC(button_clicked), - GINT_TO_POINTER(kind)); - gtk_signal_connect (GTK_OBJECT(drawing_area), "expose-event", - GTK_SIGNAL_FUNC(button_expose_handler), - NULL); + button = gtk_button_new(); + drawing_area = gtk_drawing_area_new(); + gtk_container_add(GTK_CONTAINER(button), drawing_area); + gtk_signal_connect(GTK_OBJECT (button), "clicked", + GTK_SIGNAL_FUNC(button_clicked), + GINT_TO_POINTER(kind)); + gtk_signal_connect (GTK_OBJECT(drawing_area), "expose-event", + GTK_SIGNAL_FUNC(button_expose_handler), + NULL); - gtk_widget_set_size_request(button, w, h); - gtk_fixed_put(GetFixed(parent), button, x, y); + gtk_widget_set_size_request(button, w, h); + gtk_fixed_put(GetFixed(parent), button, x, y); - MakeReturn1Cci(pcci, (int64_t) button); + MakeReturn1Cci(pcci, (int64_t) button); } static gint custom_expose_handler(GtkWidget *widget, GdkEventExpose *event, gpointer user_data) { - GtkWidget *parent; + GtkWidget *parent; printf("custom_expose_handler\n"); parent = gtk_widget_get_parent(gtk_widget_get_parent(gtk_widget_get_parent(widget))); - SendMessage3ToClean(CcWmDRAWCONTROL, (int64_t) parent, (int64_t) widget, (int64_t) GDK_DRAWABLE(event->window)); - return 0; + SendMessage3ToClean(CcWmDRAWCONTROL, (int64_t) parent, (int64_t) widget, (int64_t) GDK_DRAWABLE(event->window)); + return 0; } void EvalCcRqCREATECUSTOM (CrossCallInfo *pcci) /* hwnd, x,y,w,h; HWND result. */ { - GtkWidget *ctrl, *parent; - gint x, y, w, h; + GtkWidget *ctrl, *parent; + gint x, y, w, h; printf("EvalCcRqCREATECUSTOM\n"); - parent = GTK_WIDGET(pcci->p1); - x = pcci->p2; - y = pcci->p3; - w = pcci->p4; - h = pcci->p5; - - ctrl = gtk_drawing_area_new(); - GTK_WIDGET_SET_FLAGS(ctrl, GTK_CAN_FOCUS); - gtk_signal_connect(GTK_OBJECT(ctrl), "expose-event", - GTK_SIGNAL_FUNC(custom_expose_handler), - NULL); - gtk_signal_connect (GTK_OBJECT(ctrl), "focus-in-event", - GTK_SIGNAL_FUNC(widget_focus_in_handler), - ctrl); - gtk_signal_connect (GTK_OBJECT(ctrl), "focus-out-event", - GTK_SIGNAL_FUNC(widget_focus_out_handler), - ctrl); - gtk_signal_connect (GTK_OBJECT(ctrl), "key-press-event", - GTK_SIGNAL_FUNC(widget_key_press_handler), - ctrl); - gtk_signal_connect (GTK_OBJECT(ctrl), "key-release-event", - GTK_SIGNAL_FUNC(widget_key_release_handler), - ctrl); - gtk_signal_connect (GTK_OBJECT(ctrl), "button-press-event", - GTK_SIGNAL_FUNC(widget_button_press_handler), - NULL); - gtk_signal_connect (GTK_OBJECT(ctrl), "button-release-event", - GTK_SIGNAL_FUNC(widget_button_release_handler), - NULL); - gtk_signal_connect (GTK_OBJECT(ctrl), "motion_notify_event", - GTK_SIGNAL_FUNC(widget_motion_notify_handler), - NULL); + parent = GTK_WIDGET(pcci->p1); + x = pcci->p2; + y = pcci->p3; + w = pcci->p4; + h = pcci->p5; + + ctrl = gtk_drawing_area_new(); + GTK_WIDGET_SET_FLAGS(ctrl, GTK_CAN_FOCUS); + gtk_signal_connect(GTK_OBJECT(ctrl), "expose-event", + GTK_SIGNAL_FUNC(custom_expose_handler), + NULL); + gtk_signal_connect (GTK_OBJECT(ctrl), "focus-in-event", + GTK_SIGNAL_FUNC(widget_focus_in_handler), + ctrl); + gtk_signal_connect (GTK_OBJECT(ctrl), "focus-out-event", + GTK_SIGNAL_FUNC(widget_focus_out_handler), + ctrl); + gtk_signal_connect (GTK_OBJECT(ctrl), "key-press-event", + GTK_SIGNAL_FUNC(widget_key_press_handler), + ctrl); + gtk_signal_connect (GTK_OBJECT(ctrl), "key-release-event", + GTK_SIGNAL_FUNC(widget_key_release_handler), + ctrl); + gtk_signal_connect (GTK_OBJECT(ctrl), "button-press-event", + GTK_SIGNAL_FUNC(widget_button_press_handler), + NULL); + gtk_signal_connect (GTK_OBJECT(ctrl), "button-release-event", + GTK_SIGNAL_FUNC(widget_button_release_handler), + NULL); + gtk_signal_connect (GTK_OBJECT(ctrl), "motion_notify_event", + GTK_SIGNAL_FUNC(widget_motion_notify_handler), + NULL); gtk_widget_set_size_request(ctrl, w, h); - gtk_fixed_put (GetFixed(parent), ctrl, x, y); + gtk_fixed_put (GetFixed(parent), ctrl, x, y); - gtk_widget_realize(ctrl); - gtk_widget_add_events(ctrl, GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK); + gtk_widget_realize(ctrl); + gtk_widget_add_events(ctrl, GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK); - MakeReturn1Cci (pcci, (int64_t) ctrl); + MakeReturn1Cci (pcci, (int64_t) ctrl); } void EvalCcRqCREATESTATICTXT (CrossCallInfo *pcci) /* hwnd, x,y,w,h; HWND result. */ { - int x, y, w, h; - GtkWidget *parent, *label; + int x, y, w, h; + GtkWidget *parent, *label; printf("EvalCcRqCREATESTATICTXT\n"); - parent = GTK_WIDGET(pcci->p1); - x = pcci->p2; - y = pcci->p3; - w = pcci->p4; - h = pcci->p5; + parent = GTK_WIDGET(pcci->p1); + x = pcci->p2; + y = pcci->p3; + w = pcci->p4; + h = pcci->p5; printf("Width: %d\n", w); - label = gtk_label_new(NULL); + label = gtk_label_new(NULL); gtk_widget_set_size_request(label, w, h); - gtk_fixed_put (GetFixed(parent), label, x, y); + gtk_fixed_put (GetFixed(parent), label, x, y); - MakeReturn1Cci (pcci, (int64_t) label); + MakeReturn1Cci (pcci, (int64_t) label); } void EvalCcRqCREATEEDITTXT (CrossCallInfo *pcci) /* hwnd, x,y,w,h, flags; HWND result. */ { - GtkWidget *edit; - GtkWidget *parent; - int x, y, w, h, flags; + GtkWidget *edit; + GtkWidget *parent; + int x, y, w, h, flags; printf("EvalCcRqCREATEEDITTXT\n"); - parent = GTK_WIDGET(pcci->p1); - x = pcci->p2; - y = pcci->p3; - w = pcci->p4; - h = pcci->p5; - flags = pcci->p6; - - if (flags & EDITISMULTILINE) - edit = gtk_text_view_new(); - else - edit = gtk_entry_new(); + parent = GTK_WIDGET(pcci->p1); + x = pcci->p2; + y = pcci->p3; + w = pcci->p4; + h = pcci->p5; + flags = pcci->p6; + + if (flags & EDITISMULTILINE) + edit = gtk_text_view_new(); + else + edit = gtk_entry_new(); printf("Edit Control: %ld\n", edit); printf("Dimensions: x=%d, y=%d, w=%d, h=%d\n", x, y, w, h); gtk_widget_set_size_request(edit, w, h); - gtk_fixed_put (GetFixed(parent), edit, x, y); + gtk_fixed_put (GetFixed(parent), edit, x, y); - gtk_signal_connect (GTK_OBJECT(edit), "focus-in-event", - GTK_SIGNAL_FUNC(widget_focus_in_handler), - edit); - gtk_signal_connect (GTK_OBJECT(edit), "focus-out-event", - GTK_SIGNAL_FUNC(widget_focus_out_handler), - edit); - if (flags & EDITISKEYSENSITIVE) - { - gtk_signal_connect (GTK_OBJECT(edit), "key-press-event", - GTK_SIGNAL_FUNC(widget_key_press_handler), - edit); - gtk_signal_connect (GTK_OBJECT(edit), "key-release-event", - GTK_SIGNAL_FUNC(widget_key_release_handler), - edit); - } + gtk_signal_connect (GTK_OBJECT(edit), "focus-in-event", + GTK_SIGNAL_FUNC(widget_focus_in_handler), + edit); + gtk_signal_connect (GTK_OBJECT(edit), "focus-out-event", + GTK_SIGNAL_FUNC(widget_focus_out_handler), + edit); + if (flags & EDITISKEYSENSITIVE) + { + gtk_signal_connect (GTK_OBJECT(edit), "key-press-event", + GTK_SIGNAL_FUNC(widget_key_press_handler), + edit); + gtk_signal_connect (GTK_OBJECT(edit), "key-release-event", + GTK_SIGNAL_FUNC(widget_key_release_handler), + edit); + } - MakeReturn1Cci (pcci, (int64_t) edit); + MakeReturn1Cci (pcci, (int64_t) edit); } static void radio_button_clicked (GtkButton *button, gpointer user_data) { - GtkWidget *wbutton, *window; + GtkWidget *wbutton, *window; printf("radio_button_clicked\n"); - wbutton = GTK_WIDGET(button); - window = GetControlParent(wbutton); + wbutton = GTK_WIDGET(button); + window = GetControlParent(wbutton); - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(wbutton))) - SendMessage4ToClean (CcWmBUTTONCLICKED, window, wbutton, GetModifiers (), 0); + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(wbutton))) + SendMessage4ToClean (CcWmBUTTONCLICKED, window, wbutton, GetModifiers (), 0); } void EvalCcRqCREATERADIOBUT (CrossCallInfo *pcci) /* hwnd, x,y,w,h, isfirst; HWND result. */ { - GtkWidget *radio_btn; - GtkWidget *parent; - int x, y, w, h, first; + GtkWidget *radio_btn; + GtkWidget *parent; + int x, y, w, h, first; printf("EvalCcRqCREATERADIOBUT\n"); - parent = GTK_WIDGET(pcci->p1); - x = pcci->p2; - y = pcci->p3; - w = pcci->p4; - h = pcci->p5; - first = pcci->p6; + parent = GTK_WIDGET(pcci->p1); + x = pcci->p2; + y = pcci->p3; + w = pcci->p4; + h = pcci->p5; + first = pcci->p6; - if (first || !gFirstRadioButton) - { - radio_btn = gtk_radio_button_new(NULL); - gFirstRadioButton = radio_btn; - } - else + if (first || !gFirstRadioButton) + { + radio_btn = gtk_radio_button_new(NULL); + gFirstRadioButton = radio_btn; + } + else { - radio_btn = gtk_radio_button_new_from_widget(GTK_RADIO_BUTTON(gFirstRadioButton)); + radio_btn = gtk_radio_button_new_from_widget(GTK_RADIO_BUTTON(gFirstRadioButton)); } - gtk_button_set_use_underline(GTK_BUTTON(radio_btn), gtk_true()); + gtk_button_set_use_underline(GTK_BUTTON(radio_btn), gtk_true()); gtk_widget_set_size_request(radio_btn, w, h); - gtk_fixed_put (GetFixed(parent), radio_btn, x, y); + gtk_fixed_put (GetFixed(parent), radio_btn, x, y); - gtk_signal_connect (GTK_OBJECT (radio_btn), "clicked", - GTK_SIGNAL_FUNC(radio_button_clicked), - NULL); + gtk_signal_connect (GTK_OBJECT (radio_btn), "clicked", + GTK_SIGNAL_FUNC(radio_button_clicked), + NULL); - MakeReturn1Cci (pcci, (int64_t) radio_btn); + MakeReturn1Cci (pcci, (int64_t) radio_btn); } void EvalCcRqCREATECHECKBOX (CrossCallInfo *pcci) /* hwnd, x,y,w,h, isfirst; HWND result. */ { - GtkWidget *check_btn; - GtkWidget *parent; - int x, y, w, h, first; + GtkWidget *check_btn; + GtkWidget *parent; + int x, y, w, h, first; printf("EvalCcRqCREATECHECKBOX\n"); - parent = GTK_WIDGET(pcci->p1); + parent = GTK_WIDGET(pcci->p1); x = pcci->p2; - y = pcci->p3; - w = pcci->p4; - h = pcci->p5; - first = pcci->p6; + y = pcci->p3; + w = pcci->p4; + h = pcci->p5; + first = pcci->p6; - check_btn = gtk_check_button_new(); - gtk_button_set_use_underline(GTK_BUTTON(check_btn), gtk_true()); + check_btn = gtk_check_button_new(); + gtk_button_set_use_underline(GTK_BUTTON(check_btn), gtk_true()); gtk_widget_set_size_request(check_btn, w, h); - gtk_fixed_put (GetFixed(parent), check_btn, x, y); + gtk_fixed_put (GetFixed(parent), check_btn, x, y); - gtk_signal_connect (GTK_OBJECT (check_btn), "toggled", - GTK_SIGNAL_FUNC(button_clicked), - NULL); + gtk_signal_connect (GTK_OBJECT (check_btn), "toggled", + GTK_SIGNAL_FUNC(button_clicked), + NULL); - MakeReturn1Cci (pcci, (int64_t) check_btn); + MakeReturn1Cci (pcci, (int64_t) check_btn); } void EvalCcRqSETITEMCHECK (CrossCallInfo *pcci) /* hwnd, bool; no result. */ { - GtkWidget *widget; - gboolean on; + GtkWidget *widget; + gboolean on; printf("EvalCcRqSETITEMCHECK\n"); - widget = GTK_WIDGET(pcci->p1); - on = (gboolean) pcci->p2; + widget = GTK_WIDGET(pcci->p1); + on = (gboolean) pcci->p2; - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), on); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), on); - MakeReturn0Cci (pcci); + MakeReturn0Cci (pcci); } void EvalCcRqENABLECONTROL (CrossCallInfo *pcci) /* hwnd, bool; no result. */ { - GtkWidget *widget; - gboolean newSelect; + GtkWidget *widget; + gboolean newSelect; printf("EvalCcRqENABLECONTROL\n"); widget = GTK_WIDGET(pcci->p1); - newSelect = (gboolean) pcci->p2; + newSelect = (gboolean) pcci->p2; - gtk_widget_set_sensitive(widget, newSelect); - MakeReturn0Cci (pcci); + gtk_widget_set_sensitive(widget, newSelect); + MakeReturn0Cci (pcci); } void EvalCcRqSHOWCONTROL (CrossCallInfo *pcci) // hwnd, bool; no result. { - GtkWidget *control; - gboolean show; + GtkWidget *control; + gboolean show; printf("EvalCcRqSHOWCONTROL\n"); - control = GTK_WIDGET(pcci->p1); + control = GTK_WIDGET(pcci->p1); printf("Control: %p; show: 0x%x\n", control, pcci->p2); if (control) { - show = (gboolean) pcci->p2; + show = (gboolean) pcci->p2; - if (!show) - gtk_widget_hide(control); - else - gtk_widget_show(control); + if (!show) + gtk_widget_hide(control); + else + gtk_widget_show(control); } - MakeReturn0Cci (pcci); + MakeReturn0Cci (pcci); } /* Hide/show windows. */ void EvalCcRqSHOWWINDOW (CrossCallInfo *pcci) /* hwnd, show, activate; no result. */ { - GtkWidget *window; - gboolean show, activate; + GtkWidget *window; + gboolean show, activate; printf("EvalCcRqSHOWWINDOW\n"); - window = GTK_WIDGET(pcci->p1); - show = (gboolean) pcci->p2; - activate = (gboolean) pcci->p3; + window = GTK_WIDGET(pcci->p1); + show = (gboolean) pcci->p2; + activate = (gboolean) pcci->p3; - if (!show) - gtk_widget_hide(window); - else - gtk_widget_show(window); + if (!show) + gtk_widget_hide(window); + else + gtk_widget_show(window); - if (activate) - gtk_window_activate_default(GTK_WINDOW(window)); + if (activate) + gtk_window_activate_default(GTK_WINDOW(window)); - MakeReturn0Cci (pcci); + MakeReturn0Cci (pcci); } static void combo_changed_handler(GtkWidget *entry, gpointer user_data) { - gint newsel = 0; - GtkWidget *combo; + gint newsel = 0; + GtkWidget *combo; GList *child; printf("combo_changed_handler\n"); - combo = GTK_WIDGET(user_data); - child = GTK_LIST(GTK_COMBO(combo)->list)->children; + combo = GTK_WIDGET(user_data); + child = GTK_LIST(GTK_COMBO(combo)->list)->children; - while (child) - { - GtkWidget *item = GTK_WIDGET(child->data); - if (item->state == GTK_STATE_SELECTED) - { - SendMessage3ToClean (CcWmITEMSELECT, (int64_t) GetControlParent(combo), (int64_t) combo, newsel); - return; - } + while (child) + { + GtkWidget *item = GTK_WIDGET(child->data); + if (item->state == GTK_STATE_SELECTED) + { + SendMessage3ToClean (CcWmITEMSELECT, (int64_t) GetControlParent(combo), (int64_t) combo, newsel); + return; + } - child = child->next; - newsel++; - } + child = child->next; + newsel++; + } } void EvalCcRqCREATEPOPUP (CrossCallInfo *pcci) /* hwnd, x,y,w,h,isEditable; HWND hwndPopUp,hwndEdit (if isEditable). */ { - GtkWidget *combo; - GtkWidget *parent; - int x, y, w, h; - gboolean isEditable; + GtkWidget *combo; + GtkWidget *parent; + int x, y, w, h; + gboolean isEditable; printf("EvalCcRqCREATEPOPUP\n"); - parent = GTK_WIDGET(pcci->p1); - x = pcci->p2; - y = pcci->p3; - w = pcci->p4; - h = pcci->p5; - isEditable = (gboolean) pcci->p6; - - combo = gtk_combo_new(); - gtk_combo_set_use_arrows_always(GTK_COMBO(combo), gtk_true()); + parent = GTK_WIDGET(pcci->p1); + x = pcci->p2; + y = pcci->p3; + w = pcci->p4; + h = pcci->p5; + isEditable = (gboolean) pcci->p6; + + combo = gtk_combo_new(); + gtk_combo_set_use_arrows_always(GTK_COMBO(combo), gtk_true()); gtk_widget_set_size_request(combo, w, h); - gtk_fixed_put (GetFixed(parent), combo, x, y); + gtk_fixed_put (GetFixed(parent), combo, x, y); - gtk_signal_connect(GTK_OBJECT(GTK_COMBO(combo)->entry), "changed", - GTK_SIGNAL_FUNC(combo_changed_handler), - combo); + gtk_signal_connect(GTK_OBJECT(GTK_COMBO(combo)->entry), "changed", + GTK_SIGNAL_FUNC(combo_changed_handler), + combo); - if (isEditable) - { - gtk_signal_connect (GTK_OBJECT (GTK_COMBO(combo)->entry), "focus-in-event", - GTK_SIGNAL_FUNC(widget_focus_in_handler), - combo); + if (isEditable) + { + gtk_signal_connect (GTK_OBJECT (GTK_COMBO(combo)->entry), "focus-in-event", + GTK_SIGNAL_FUNC(widget_focus_in_handler), + combo); - gtk_signal_connect (GTK_OBJECT (GTK_COMBO(combo)->entry), "focus-out-event", - GTK_SIGNAL_FUNC(widget_focus_out_handler), - combo); + gtk_signal_connect (GTK_OBJECT (GTK_COMBO(combo)->entry), "focus-out-event", + GTK_SIGNAL_FUNC(widget_focus_out_handler), + combo); - gtk_signal_connect (GTK_OBJECT (GTK_COMBO(combo)->entry), "key-press-event", - GTK_SIGNAL_FUNC(widget_key_press_handler), - combo); + gtk_signal_connect (GTK_OBJECT (GTK_COMBO(combo)->entry), "key-press-event", + GTK_SIGNAL_FUNC(widget_key_press_handler), + combo); - gtk_signal_connect (GTK_OBJECT (GTK_COMBO(combo)->entry), "key-release-event", - GTK_SIGNAL_FUNC(widget_key_release_handler), - combo); - } - else - { - gtk_entry_set_editable(GTK_ENTRY(GTK_COMBO(combo)->entry), gtk_false()); - } + gtk_signal_connect (GTK_OBJECT (GTK_COMBO(combo)->entry), "key-release-event", + GTK_SIGNAL_FUNC(widget_key_release_handler), + combo); + } + else + { + gtk_entry_set_editable(GTK_ENTRY(GTK_COMBO(combo)->entry), gtk_false()); + } - MakeReturn2Cci (pcci, (int64_t) combo, (int64_t) GTK_COMBO(combo)->entry); + MakeReturn2Cci (pcci, (int64_t) combo, (int64_t) GTK_COMBO(combo)->entry); } void EvalCcRqADDTOPOPUP (CrossCallInfo *pcci) /* hwnd, textptr, enabled, selected, index; Pos result. */ { - gint pos; - GtkWidget *combo, *li; - gchar *text; - gboolean selected; + gint pos; + GtkWidget *combo, *li; + gchar *text; + gboolean selected; printf("EvalCcRqADDTOPOPUP\n"); - combo = GTK_WIDGET(pcci->p1); - text = (gchar *) pcci->p2; - selected = (gboolean) pcci->p3; + combo = GTK_WIDGET(pcci->p1); + text = (gchar *) pcci->p2; + selected = (gboolean) pcci->p3; - li = gtk_list_item_new_with_label(text); - gtk_widget_show (li); - gtk_container_add(GTK_CONTAINER(GTK_COMBO(combo)->list), li); + li = gtk_list_item_new_with_label(text); + gtk_widget_show (li); + gtk_container_add(GTK_CONTAINER(GTK_COMBO(combo)->list), li); - pos = gtk_list_child_position(GTK_LIST(GTK_COMBO(combo)->list), li); + pos = gtk_list_child_position(GTK_LIST(GTK_COMBO(combo)->list), li); - if (selected) + if (selected) { - gtk_list_select_item(GTK_LIST(GTK_COMBO(combo)->list), pos); + gtk_list_select_item(GTK_LIST(GTK_COMBO(combo)->list), pos); } - MakeReturn1Cci (pcci, pos); + MakeReturn1Cci (pcci, pos); } void EvalCcRqSELECTPOPUPITEM (CrossCallInfo *pcci) /* hwnd, pos; no result */ { - GtkWidget *combo; - gint pos; + GtkWidget *combo; + gint pos; printf("EvalCcRqSELECTPOPUP\n"); - combo = GTK_WIDGET(pcci->p1); - pos = pcci->p2; + combo = GTK_WIDGET(pcci->p1); + pos = pcci->p2; - gtk_list_select_item(GTK_LIST(GTK_COMBO(combo)->list), pos); + gtk_list_select_item(GTK_LIST(GTK_COMBO(combo)->list), pos); - MakeReturn0Cci (pcci); + MakeReturn0Cci (pcci); } void EvalCcRqRESTACKWINDOW (CrossCallInfo *pcci) /* thewindow,behind; no result. */ { /* HWND thePtr, behindPtr; - UINT uflags = SWP_NOMOVE + SWP_NOSIZE; // Do not change current size or location + UINT uflags = SWP_NOMOVE + SWP_NOSIZE; // Do not change current size or location - thePtr = (HWND) pcci->p1; - behindPtr = (HWND) pcci->p2; + thePtr = (HWND) pcci->p1; + behindPtr = (HWND) pcci->p2; - SetWindowPos (thePtr, behindPtr, 0, 0, 0, 0, uflags); + SetWindowPos (thePtr, behindPtr, 0, 0, 0, 0, uflags); */ - printf("EvalCcRqRESTACKWINDOW -> not implemented\n"); - MakeReturn0Cci (pcci); + printf("EvalCcRqRESTACKWINDOW -> not implemented\n"); + MakeReturn0Cci (pcci); } /* Add controls to tooltip area. */ void EvalCcRqADDCONTROLTIP (CrossCallInfo *pcci) /* parentPtr, controlPtr, textPtr; no result. */ { - GtkWidget *parent, *control; + GtkWidget *parent, *control; gchar *text; printf("EvalCcRqADDCONTROLTIP\n"); - parent = GTK_WIDGET(pcci->p1); - control = GTK_WIDGET(pcci->p2); - text = (gchar *)pcci->p3; + parent = GTK_WIDGET(pcci->p1); + control = GTK_WIDGET(pcci->p2); + text = (gchar *)pcci->p3; - gtk_tooltips_set_tip(GTK_TOOLTIPS(gTooltip), control, text, text); + gtk_tooltips_set_tip(GTK_TOOLTIPS(gTooltip), control, text, text); - MakeReturn0Cci (pcci); + MakeReturn0Cci (pcci); } /* Remove controls from tooltip area. */ void EvalCcRqDELCONTROLTIP (CrossCallInfo *pcci) /* parentPtr, controlPtr; no result. */ { - GtkWidget *parent, *control; + GtkWidget *parent, *control; printf("EvalCcRqDELCONTROLTIP\n"); - parent = GTK_WIDGET(pcci->p1); - control = GTK_WIDGET(pcci->p2); + parent = GTK_WIDGET(pcci->p1); + control = GTK_WIDGET(pcci->p2); - gtk_tooltips_set_tip(GTK_TOOLTIPS(gTooltip), control, NULL, NULL); + gtk_tooltips_set_tip(GTK_TOOLTIPS(gTooltip), control, NULL, NULL); - MakeReturn0Cci (pcci); + MakeReturn0Cci (pcci); } void EvalCcRqCREATECARET(CrossCallInfo *pcci) { /* - HWND hWnd = (HWND) pcci->p1; - int nWidth = max(max(GetSystemMetrics(SM_CYBORDER), GetSystemMetrics(SM_CXBORDER)) * 2, pcci->p2); - int nHeight = pcci->p3; + HWND hWnd = (HWND) pcci->p1; + int nWidth = max(max(GetSystemMetrics(SM_CYBORDER), GetSystemMetrics(SM_CXBORDER)) * 2, pcci->p2); + int nHeight = pcci->p3; - ghCaretWnd = hWnd; - CreateCaret(hWnd, NULL, nWidth, nHeight); - ShowCaret(hWnd); + ghCaretWnd = hWnd; + CreateCaret(hWnd, NULL, nWidth, nHeight); + ShowCaret(hWnd); */ - printf("EvalCcRqCREATECARET -> not implemented\n"); - MakeReturn0Cci (pcci); + printf("EvalCcRqCREATECARET -> not implemented\n"); + MakeReturn0Cci (pcci); } void EvalCcRqSETCARETPOS(CrossCallInfo *pcci) @@ -2378,8 +2378,8 @@ void EvalCcRqSETCARETPOS(CrossCallInfo *pcci) // { // SetCaretPos(pcci->p2, pcci->p3); // }; - printf("EvalCcRqSETCARETPOS -> not implemented\n"); - MakeReturn0Cci (pcci); + printf("EvalCcRqSETCARETPOS -> not implemented\n"); + MakeReturn0Cci (pcci); } void EvalCcRqDESTROYCARET(CrossCallInfo *pcci) @@ -2389,82 +2389,82 @@ void EvalCcRqDESTROYCARET(CrossCallInfo *pcci) /// HideCaret(hWnd); // DestroyCaret(); // ghCaretWnd = NULL; - printf("EvalCcRqDESTROYCARET -> not implemented\n"); - MakeReturn0Cci (pcci); + printf("EvalCcRqDESTROYCARET -> not implemented\n"); + MakeReturn0Cci (pcci); } void EvalCcRqSHOWCARET(CrossCallInfo *pcci) { // ShowCaret((HWND) pcci->p1); - printf("EvalCcRqSHOWCARET -> not implemented\n"); - MakeReturn0Cci (pcci); + printf("EvalCcRqSHOWCARET -> not implemented\n"); + MakeReturn0Cci (pcci); } void EvalCcRqHIDECARET(CrossCallInfo *pcci) { // HideCaret((HWND) pcci->p1); - printf("EvalCcRqHIDECARET -> not implemented\n"); - MakeReturn0Cci (pcci); + printf("EvalCcRqHIDECARET -> not implemented\n"); + MakeReturn0Cci (pcci); } /* Install the cross call procedures in the gCrossCallProcedureTable of cCrossCall_121. */ OS InstallCrossCallWindows (OS ios) { - CrossCallProcedureTable newTable; + CrossCallProcedureTable newTable; printf("InstallCrossCallWindows\n"); - newTable = EmptyCrossCallProcedureTable (); - AddCrossCallEntry (newTable, CcRqBEGINPAINT, EvalCcRqBEGINPAINT); - AddCrossCallEntry (newTable, CcRqENDPAINT, EvalCcRqENDPAINT); - AddCrossCallEntry (newTable, CcRqFAKEPAINT, EvalCcRqFAKEPAINT); - AddCrossCallEntry (newTable, CcRqDESTROYMODALDIALOG, EvalCcRqDESTROYMODALDIALOG); - AddCrossCallEntry (newTable, CcRqDESTROYMDIDOCWINDOW, EvalCcRqDESTROYMDIDOCWINDOW); - AddCrossCallEntry (newTable, CcRqCREATESDIDOCWINDOW, EvalCcRqCREATESDIDOCWINDOW); - AddCrossCallEntry (newTable, CcRqCREATEMDIDOCWINDOW, EvalCcRqCREATEMDIDOCWINDOW); - AddCrossCallEntry (newTable, CcRqSETWINDOWTITLE, EvalCcRqSETWINDOWTITLE); - AddCrossCallEntry (newTable, CcRqGETWINDOWTEXT, EvalCcRqGETWINDOWTEXT); - AddCrossCallEntry (newTable, CcRqUPDATEWINDOWRECT, EvalCcRqUPDATEWINDOWRECT); - AddCrossCallEntry (newTable, CcRqSETCLIENTSIZE, EvalCcRqSETCLIENTSIZE); - AddCrossCallEntry (newTable, CcRqSETSELECTWINDOW, EvalCcRqSETSELECTWINDOW); - AddCrossCallEntry (newTable, CcRqSETWINDOWPOS, EvalCcRqSETWINDOWPOS); - AddCrossCallEntry (newTable, CcRqGETWINDOWSIZE, EvalCcRqGETWINDOWSIZE); - AddCrossCallEntry (newTable, CcRqSETWINDOWSIZE, EvalCcRqSETWINDOWSIZE); - AddCrossCallEntry (newTable, CcRqACTIVATECONTROL, EvalCcRqACTIVATECONTROL); - AddCrossCallEntry (newTable, CcRqACTIVATEWINDOW, EvalCcRqACTIVATEWINDOW); - AddCrossCallEntry (newTable, CcRqCHANGEWINDOWCURSOR, EvalCcRqCHANGEWINDOWCURSOR); - AddCrossCallEntry (newTable, CcRqOBSCURECURSOR, EvalCcRqOBSCURECURSOR); - AddCrossCallEntry (newTable, CcRqSETSCROLLRANGE, EvalCcRqSETSCROLLRANGE); - AddCrossCallEntry (newTable, CcRqSETSCROLLPOS, EvalCcRqSETSCROLLPOS); - AddCrossCallEntry (newTable, CcRqSETSCROLLSIZE, EvalCcRqSETSCROLLSIZE); - AddCrossCallEntry (newTable, CcRqSETEDITSELECTION, EvalCcRqSETEDITSELECTION); - AddCrossCallEntry (newTable, CcRqCREATEDIALOG, EvalCcRqCREATEDIALOG); - AddCrossCallEntry (newTable, CcRqCREATEMODALDIALOG, EvalCcRqCREATEMODALDIALOG); - AddCrossCallEntry (newTable, CcRqCREATECOMPOUND, EvalCcRqCREATECOMPOUND); - AddCrossCallEntry (newTable, CcRqCREATESCROLLBAR, EvalCcRqCREATESCROLLBAR); - AddCrossCallEntry (newTable, CcRqCREATEBUTTON, EvalCcRqCREATEBUTTON); - AddCrossCallEntry (newTable, CcRqCREATEICONBUT, EvalCcRqCREATEICONBUT); - AddCrossCallEntry (newTable, CcRqCREATECUSTOM, EvalCcRqCREATECUSTOM); - AddCrossCallEntry (newTable, CcRqCREATESTATICTXT, EvalCcRqCREATESTATICTXT); - AddCrossCallEntry (newTable, CcRqCREATEEDITTXT, EvalCcRqCREATEEDITTXT); - AddCrossCallEntry (newTable, CcRqCREATERADIOBUT, EvalCcRqCREATERADIOBUT); - AddCrossCallEntry (newTable, CcRqCREATECHECKBOX, EvalCcRqCREATECHECKBOX); - AddCrossCallEntry (newTable, CcRqSETITEMCHECK, EvalCcRqSETITEMCHECK); - AddCrossCallEntry (newTable, CcRqENABLECONTROL, EvalCcRqENABLECONTROL); - AddCrossCallEntry (newTable, CcRqSHOWCONTROL, EvalCcRqSHOWCONTROL); - AddCrossCallEntry (newTable, CcRqSHOWWINDOW, EvalCcRqSHOWWINDOW); - AddCrossCallEntry (newTable, CcRqCREATEPOPUP, EvalCcRqCREATEPOPUP); - AddCrossCallEntry (newTable, CcRqADDTOPOPUP, EvalCcRqADDTOPOPUP); - AddCrossCallEntry (newTable, CcRqSELECTPOPUPITEM, EvalCcRqSELECTPOPUPITEM); - AddCrossCallEntry (newTable, CcRqRESTACKWINDOW, EvalCcRqRESTACKWINDOW); - AddCrossCallEntry (newTable, CcRqADDCONTROLTIP, EvalCcRqADDCONTROLTIP); - AddCrossCallEntry (newTable, CcRqDELCONTROLTIP, EvalCcRqDELCONTROLTIP); - AddCrossCallEntry (newTable, CcRqCREATECARET, EvalCcRqCREATECARET); - AddCrossCallEntry (newTable, CcRqSETCARETPOS, EvalCcRqSETCARETPOS); - AddCrossCallEntry (newTable, CcRqDESTROYCARET, EvalCcRqDESTROYCARET); - AddCrossCallEntry (newTable, CcRqHIDECARET, EvalCcRqHIDECARET); - AddCrossCallEntry (newTable, CcRqSHOWCARET, EvalCcRqSHOWCARET); - AddCrossCallEntries (gCrossCallProcedureTable, newTable); + newTable = EmptyCrossCallProcedureTable (); + AddCrossCallEntry (newTable, CcRqBEGINPAINT, EvalCcRqBEGINPAINT); + AddCrossCallEntry (newTable, CcRqENDPAINT, EvalCcRqENDPAINT); + AddCrossCallEntry (newTable, CcRqFAKEPAINT, EvalCcRqFAKEPAINT); + AddCrossCallEntry (newTable, CcRqDESTROYMODALDIALOG, EvalCcRqDESTROYMODALDIALOG); + AddCrossCallEntry (newTable, CcRqDESTROYMDIDOCWINDOW, EvalCcRqDESTROYMDIDOCWINDOW); + AddCrossCallEntry (newTable, CcRqCREATESDIDOCWINDOW, EvalCcRqCREATESDIDOCWINDOW); + AddCrossCallEntry (newTable, CcRqCREATEMDIDOCWINDOW, EvalCcRqCREATEMDIDOCWINDOW); + AddCrossCallEntry (newTable, CcRqSETWINDOWTITLE, EvalCcRqSETWINDOWTITLE); + AddCrossCallEntry (newTable, CcRqGETWINDOWTEXT, EvalCcRqGETWINDOWTEXT); + AddCrossCallEntry (newTable, CcRqUPDATEWINDOWRECT, EvalCcRqUPDATEWINDOWRECT); + AddCrossCallEntry (newTable, CcRqSETCLIENTSIZE, EvalCcRqSETCLIENTSIZE); + AddCrossCallEntry (newTable, CcRqSETSELECTWINDOW, EvalCcRqSETSELECTWINDOW); + AddCrossCallEntry (newTable, CcRqSETWINDOWPOS, EvalCcRqSETWINDOWPOS); + AddCrossCallEntry (newTable, CcRqGETWINDOWSIZE, EvalCcRqGETWINDOWSIZE); + AddCrossCallEntry (newTable, CcRqSETWINDOWSIZE, EvalCcRqSETWINDOWSIZE); + AddCrossCallEntry (newTable, CcRqACTIVATECONTROL, EvalCcRqACTIVATECONTROL); + AddCrossCallEntry (newTable, CcRqACTIVATEWINDOW, EvalCcRqACTIVATEWINDOW); + AddCrossCallEntry (newTable, CcRqCHANGEWINDOWCURSOR, EvalCcRqCHANGEWINDOWCURSOR); + AddCrossCallEntry (newTable, CcRqOBSCURECURSOR, EvalCcRqOBSCURECURSOR); + AddCrossCallEntry (newTable, CcRqSETSCROLLRANGE, EvalCcRqSETSCROLLRANGE); + AddCrossCallEntry (newTable, CcRqSETSCROLLPOS, EvalCcRqSETSCROLLPOS); + AddCrossCallEntry (newTable, CcRqSETSCROLLSIZE, EvalCcRqSETSCROLLSIZE); + AddCrossCallEntry (newTable, CcRqSETEDITSELECTION, EvalCcRqSETEDITSELECTION); + AddCrossCallEntry (newTable, CcRqCREATEDIALOG, EvalCcRqCREATEDIALOG); + AddCrossCallEntry (newTable, CcRqCREATEMODALDIALOG, EvalCcRqCREATEMODALDIALOG); + AddCrossCallEntry (newTable, CcRqCREATECOMPOUND, EvalCcRqCREATECOMPOUND); + AddCrossCallEntry (newTable, CcRqCREATESCROLLBAR, EvalCcRqCREATESCROLLBAR); + AddCrossCallEntry (newTable, CcRqCREATEBUTTON, EvalCcRqCREATEBUTTON); + AddCrossCallEntry (newTable, CcRqCREATEICONBUT, EvalCcRqCREATEICONBUT); + AddCrossCallEntry (newTable, CcRqCREATECUSTOM, EvalCcRqCREATECUSTOM); + AddCrossCallEntry (newTable, CcRqCREATESTATICTXT, EvalCcRqCREATESTATICTXT); + AddCrossCallEntry (newTable, CcRqCREATEEDITTXT, EvalCcRqCREATEEDITTXT); + AddCrossCallEntry (newTable, CcRqCREATERADIOBUT, EvalCcRqCREATERADIOBUT); + AddCrossCallEntry (newTable, CcRqCREATECHECKBOX, EvalCcRqCREATECHECKBOX); + AddCrossCallEntry (newTable, CcRqSETITEMCHECK, EvalCcRqSETITEMCHECK); + AddCrossCallEntry (newTable, CcRqENABLECONTROL, EvalCcRqENABLECONTROL); + AddCrossCallEntry (newTable, CcRqSHOWCONTROL, EvalCcRqSHOWCONTROL); + AddCrossCallEntry (newTable, CcRqSHOWWINDOW, EvalCcRqSHOWWINDOW); + AddCrossCallEntry (newTable, CcRqCREATEPOPUP, EvalCcRqCREATEPOPUP); + AddCrossCallEntry (newTable, CcRqADDTOPOPUP, EvalCcRqADDTOPOPUP); + AddCrossCallEntry (newTable, CcRqSELECTPOPUPITEM, EvalCcRqSELECTPOPUPITEM); + AddCrossCallEntry (newTable, CcRqRESTACKWINDOW, EvalCcRqRESTACKWINDOW); + AddCrossCallEntry (newTable, CcRqADDCONTROLTIP, EvalCcRqADDCONTROLTIP); + AddCrossCallEntry (newTable, CcRqDELCONTROLTIP, EvalCcRqDELCONTROLTIP); + AddCrossCallEntry (newTable, CcRqCREATECARET, EvalCcRqCREATECARET); + AddCrossCallEntry (newTable, CcRqSETCARETPOS, EvalCcRqSETCARETPOS); + AddCrossCallEntry (newTable, CcRqDESTROYCARET, EvalCcRqDESTROYCARET); + AddCrossCallEntry (newTable, CcRqHIDECARET, EvalCcRqHIDECARET); + AddCrossCallEntry (newTable, CcRqSHOWCARET, EvalCcRqSHOWCARET); + AddCrossCallEntries (gCrossCallProcedureTable, newTable); return ios; } -- cgit v1.2.3