diff options
author | Camil Staps | 2015-08-12 13:59:08 +0200 |
---|---|---|
committer | Camil Staps | 2015-08-12 13:59:08 +0200 |
commit | b5e3f8cb0a19ec0672cd27c8df0f3393643aaf42 (patch) | |
tree | 245b461bf015353b41d3df72cfd1868e110d5d23 | |
parent | Fixed crashes with windows (diff) |
Get rid of all the tabs. So annoying.
-rw-r--r-- | Linux_C_12/Clean.h | 10 | ||||
-rw-r--r-- | Linux_C_12/cCCallSystem_121.c | 20 | ||||
-rw-r--r-- | Linux_C_12/cCCallWindows_121.c | 142 | ||||
-rw-r--r-- | Linux_C_12/cCCallWindows_121.h | 4 | ||||
-rw-r--r-- | Linux_C_12/cCrossCallClipboard_121.c | 42 | ||||
-rw-r--r-- | Linux_C_12/cCrossCallFileSelectors_121.c | 274 | ||||
-rw-r--r-- | Linux_C_12/cCrossCallFont_121.c | 70 | ||||
-rw-r--r-- | Linux_C_12/cCrossCallMenus_121.c | 336 | ||||
-rw-r--r-- | Linux_C_12/cCrossCallPrinter_121.c | 128 | ||||
-rw-r--r-- | Linux_C_12/cCrossCallProcedureTable_121.c | 180 | ||||
-rw-r--r-- | Linux_C_12/cCrossCallProcedureTable_121.h | 6 | ||||
-rw-r--r-- | Linux_C_12/cCrossCallWindows_121.c | 3040 | ||||
-rw-r--r-- | Linux_C_12/cCrossCall_121.c | 702 | ||||
-rw-r--r-- | Linux_C_12/cCrossCall_121.h | 14 | ||||
-rw-r--r-- | Linux_C_12/cCrossCallxDI_121.c | 622 | ||||
-rw-r--r-- | Linux_C_12/cTCP_121.c | 1092 | ||||
-rw-r--r-- | Linux_C_12/cTCP_121.h | 34 | ||||
-rw-r--r-- | Linux_C_12/cdebug_121.c | 36 | ||||
-rw-r--r-- | Linux_C_12/clean_types.h | 28 | ||||
-rw-r--r-- | Linux_C_12/cpicture_121.h | 4 | ||||
-rw-r--r-- | Linux_C_12/cprinter_121.c | 708 | ||||
-rw-r--r-- | Linux_C_12/cprinter_121.h | 34 | ||||
-rw-r--r-- | Linux_C_12/util_121.c | 2806 |
23 files changed, 5166 insertions, 5166 deletions
diff --git a/Linux_C_12/Clean.h b/Linux_C_12/Clean.h index 26513a0..f422e81 100644 --- a/Linux_C_12/Clean.h +++ b/Linux_C_12/Clean.h @@ -4,11 +4,11 @@ typedef struct clean_string *CleanString;
/* a string in Clean is:
- struct clean_string {
- int clean_string_length;
- char clean_string_characters[clean_string_length];
- };
- The string does not end with a '\0' !
+ struct clean_string {
+ int clean_string_length;
+ char clean_string_characters[clean_string_length];
+ };
+ The string does not end with a '\0' !
*/
/* CleanStringLength(clean_string) returns length of the clean_string in characters */
diff --git a/Linux_C_12/cCCallSystem_121.c b/Linux_C_12/cCCallSystem_121.c index cab13a8..fb890b3 100644 --- a/Linux_C_12/cCCallSystem_121.c +++ b/Linux_C_12/cCCallSystem_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 system handling that is not part of standard cross call handling.
+ About this module:
+ Routines related to system handling that is not part of standard cross call handling.
********************************************************************************************/
#include "cCCallSystem_121.h"
#include <time.h>
@@ -92,14 +92,14 @@ void WinGetDate (OS ios, int *year, int *month, int *day, gettimeofday(&t,NULL);
gmtime_r(&t.tv_sec,&theTime);
- *year = 1900 + theTime.tm_year;
- *month = 1 + theTime.tm_mon;
- *day = theTime.tm_mday;
+ *year = 1900 + theTime.tm_year;
+ *month = 1 + theTime.tm_mon;
+ *day = theTime.tm_mday;
/* Clean treats 1 == Weekend, 2 == Weekday */
- *weekday = ((theTime.tm_wday == 0) || (theTime.tm_wday == 6)) ? 1 : 2;
+ *weekday = ((theTime.tm_wday == 0) || (theTime.tm_wday == 6)) ? 1 : 2;
printf("Date: %d-%d-%d\n",*month, *day, *year);
- *oos = ios;
+ *oos = ios;
}
diff --git a/Linux_C_12/cCCallWindows_121.c b/Linux_C_12/cCCallWindows_121.c index b6d521e..526a68e 100644 --- a/Linux_C_12/cCCallWindows_121.c +++ b/Linux_C_12/cCCallWindows_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 "cCCallWindows_121.h"
#include "cCrossCallWindows_121.h"
@@ -14,7 +14,7 @@ OS WinInvalidateWindow (GtkWidget *widget, OS ios)
{
rprintf("WinInvalidateWindow\n");
- gtk_widget_queue_draw(widget);
+ gtk_widget_queue_draw(widget);
return ios;
}
@@ -22,19 +22,19 @@ OS WinInvalidateRect (GtkWidget *widget, int left, int top, int right, int bottom, OS ios)
{
/* rprintf("WinInvalidateRect\n"); */
- gint temp;
- GdkRectangle* rect = g_new(GdkRectangle,1);
- if (top > bottom) {
- temp = top;
- top = bottom;
- bottom = top;
- }
- rect->x = (gint)left;
- rect->y = (gint)top;
- rect->width = (gint)(right - left);
- rect->height = (gint)(bottom - top);
- gdk_window_invalidate_rect(GDK_WINDOW(widget),rect, 1);
- /* FIXME: destroy the Rectangle here? */
+ gint temp;
+ GdkRectangle* rect = g_new(GdkRectangle,1);
+ if (top > bottom) {
+ temp = top;
+ top = bottom;
+ bottom = top;
+ }
+ rect->x = (gint)left;
+ rect->y = (gint)top;
+ rect->width = (gint)(right - left);
+ rect->height = (gint)(bottom - top);
+ gdk_window_invalidate_rect(GDK_WINDOW(widget),rect, 1);
+ /* FIXME: destroy the Rectangle here? */
return ios;
}
@@ -52,96 +52,96 @@ OS WinValidateRgn (GtkWidget *widget, GdkRegion *region, OS ios) }
/* Win(M/S)DIClientToOuterSizeDims returns the width and height needed to add/subtract
- from the client/outer size to obtain the outer/client size.
- These values must be the same as used by W95AdjustClean(M/S)DIWindowDimensions!
+ from the client/outer size to obtain the outer/client size.
+ These values must be the same as used by W95AdjustClean(M/S)DIWindowDimensions!
*/
void WinMDIClientToOuterSizeDims (int styleFlags, OS ios, int *dw, int *dh, OS* oos)
{
/* if ((styleFlags&WS_THICKFRAME) != 0)
- { // resizable window
- *dw = 2 * GetSystemMetrics (SM_CXSIZEFRAME);
- *dh = 2 * GetSystemMetrics (SM_CYSIZEFRAME) + GetSystemMetrics (SM_CYCAPTION);
- } else
- { // fixed size window
- *dw = 2 * GetSystemMetrics (SM_CXFIXEDFRAME);
- *dh = 2 * GetSystemMetrics (SM_CYFIXEDFRAME) + GetSystemMetrics (SM_CYCAPTION);
- }
+ { // resizable window
+ *dw = 2 * GetSystemMetrics (SM_CXSIZEFRAME);
+ *dh = 2 * GetSystemMetrics (SM_CYSIZEFRAME) + GetSystemMetrics (SM_CYCAPTION);
+ } else
+ { // fixed size window
+ *dw = 2 * GetSystemMetrics (SM_CXFIXEDFRAME);
+ *dh = 2 * GetSystemMetrics (SM_CYFIXEDFRAME) + GetSystemMetrics (SM_CYCAPTION);
+ }
*/
- *dw = 0;
+ *dw = 0;
*dh = 0;
- printf("WinMDIClientOuterSizeDims -> not implemented\n");
+ printf("WinMDIClientOuterSizeDims -> not implemented\n");
*oos = ios;
}
void WinSDIClientToOuterSizeDims (int styleFlags, OS ios, int *dw, int *dh, OS *oos)
{
- *dw = 0; //2 * GetSystemMetrics (SM_CXSIZEFRAME);
- *dh = 0; //2 * GetSystemMetrics (SM_CYSIZEFRAME) + GetSystemMetrics (SM_CYCAPTION);
- printf("WinSDIClientOuterSizeDims -> not implemented\n");
+ *dw = 0; //2 * GetSystemMetrics (SM_CXSIZEFRAME);
+ *dh = 0; //2 * GetSystemMetrics (SM_CYSIZEFRAME) + GetSystemMetrics (SM_CYCAPTION);
+ printf("WinSDIClientOuterSizeDims -> not implemented\n");
*oos = ios;
}
/* UpdateWindowScrollbars updates any window scrollbars and non-client area if present.
- Uses the following access procedures to the GWL_STYLE of a windowhandle:
- GetGWL_STYLE (hwnd) returns the GWL_STYLE value of hwnd;
- WindowHasHScroll (hwnd) returns TRUE iff hwnd has a horizontal scrollbar;
- WindowHasVScroll (hwnd) returns TRUE iff hwnd has a vertical scrollbar;
+ Uses the following access procedures to the GWL_STYLE of a windowhandle:
+ GetGWL_STYLE (hwnd) returns the GWL_STYLE value of hwnd;
+ WindowHasHScroll (hwnd) returns TRUE iff hwnd has a horizontal scrollbar;
+ WindowHasVScroll (hwnd) returns TRUE iff hwnd has a vertical scrollbar;
*/
void UpdateWindowScrollbars (GtkWidget *widget)
{
/* int w,h;
- RECT rect;
-
- GetWindowRect (hwnd, &rect);
- w = rect.right -rect.left;
- h = rect.bottom-rect.top;
-
- if (WindowHasHScroll (hwnd))
- {
- rect.left = 0;
- rect.top = h-GetSystemMetrics (SM_CYHSCROLL);
- rect.right = w;
- rect.bottom = h;
- InvalidateRect (hwnd,&rect,FALSE);
- RedrawWindow (hwnd,&rect,NULL,RDW_FRAME | RDW_VALIDATE | RDW_UPDATENOW | RDW_NOCHILDREN);
- ValidateRect (hwnd,&rect);
- }
- if (WindowHasVScroll (hwnd))
- {
- rect.left = w-GetSystemMetrics (SM_CXVSCROLL);
- rect.top = 0;
- rect.right = w;
- rect.bottom = h;
- InvalidateRect (hwnd,&rect,FALSE);
- RedrawWindow (hwnd,&rect,NULL,RDW_FRAME | RDW_VALIDATE | RDW_UPDATENOW | RDW_NOCHILDREN);
- ValidateRect (hwnd,&rect);
- }
+ RECT rect;
+
+ GetWindowRect (hwnd, &rect);
+ w = rect.right -rect.left;
+ h = rect.bottom-rect.top;
+
+ if (WindowHasHScroll (hwnd))
+ {
+ rect.left = 0;
+ rect.top = h-GetSystemMetrics (SM_CYHSCROLL);
+ rect.right = w;
+ rect.bottom = h;
+ InvalidateRect (hwnd,&rect,FALSE);
+ RedrawWindow (hwnd,&rect,NULL,RDW_FRAME | RDW_VALIDATE | RDW_UPDATENOW | RDW_NOCHILDREN);
+ ValidateRect (hwnd,&rect);
+ }
+ if (WindowHasVScroll (hwnd))
+ {
+ rect.left = w-GetSystemMetrics (SM_CXVSCROLL);
+ rect.top = 0;
+ rect.right = w;
+ rect.bottom = h;
+ InvalidateRect (hwnd,&rect,FALSE);
+ RedrawWindow (hwnd,&rect,NULL,RDW_FRAME | RDW_VALIDATE | RDW_UPDATENOW | RDW_NOCHILDREN);
+ ValidateRect (hwnd,&rect);
+ }
*/
- printf("UpdateWindowScrollbars -> not implemented\n");
+ printf("UpdateWindowScrollbars -> not implemented\n");
}
void WinScreenYSize (OS ios, int *py, OS *oos)
{
rprintf("WinScreenYSize\n");
- *py = gdk_screen_height();
+ *py = gdk_screen_height();
*oos = ios;
}
void WinScreenXSize (OS ios, int *px, OS *oos)
{
rprintf("WinScreenXSize\n");
- *px = gdk_screen_width();
+ *px = gdk_screen_width();
*oos = ios;
}
void WinMinimumWinSize (int *mx, int *my)
{
rprintf("WinMinimumWinSize\n");
- *mx = 48;
- *my = 0;
+ *mx = 48;
+ *my = 0;
}
/* WinScrollbarSize determines system metrics of width and height of scrollbars.
@@ -157,9 +157,9 @@ void WinScrollbarSize (OS ios, int *width, int *height, OS *oos) gtk_widget_size_request(vbar, &req);
- *width = req.width; /* Width of the vertical arrow */
+ *width = req.width; /* Width of the vertical arrow */
gtk_widget_size_request(hbar, &req);
- *height = req.height; /* Height of the horizontal bar */
+ *height = req.height; /* Height of the horizontal bar */
gtk_widget_destroy(vbar);
gtk_widget_destroy(hbar);
diff --git a/Linux_C_12/cCCallWindows_121.h b/Linux_C_12/cCCallWindows_121.h index 45823ab..25ae776 100644 --- a/Linux_C_12/cCCallWindows_121.h +++ b/Linux_C_12/cCCallWindows_121.h @@ -8,8 +8,8 @@ extern OS WinValidateRect (OSWindowPtr wnd, int left, int top, int right, extern OS WinValidateRgn (OSWindowPtr wnd, OSRgnHandle rgn, OS ios);
/* Win(M/S)DIClientToOuterSizeDims returns the width and height needed to add/subtract
- from the client/outer size to obtain the outer/client size.
- These values must be the same as used by W95AdjustClean(M/S)DIWindowDimensions!
+ from the client/outer size to obtain the outer/client size.
+ These values must be the same as used by W95AdjustClean(M/S)DIWindowDimensions!
*/
extern void WinMDIClientToOuterSizeDims (int styleFlags, OS ios, int *dw, int *dh, OS *oos);
extern void WinSDIClientToOuterSizeDims (int styleFlags, OS ios, int *dw, int *dh, OS *oos);
diff --git a/Linux_C_12/cCrossCallClipboard_121.c b/Linux_C_12/cCrossCallClipboard_121.c index 014349b..0c092b7 100644 --- a/Linux_C_12/cCrossCallClipboard_121.c +++ b/Linux_C_12/cCrossCallClipboard_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 clipboard handling.
+ About this module:
+ Routines related to clipboard handling.
********************************************************************************************/
#include <string.h>
#include "cCrossCallClipboard_121.h"
@@ -14,50 +14,50 @@ /* Cross call procedure implementations.
- Eval<nr> corresponds with a CrossCallEntry generated by NewCrossCallEntry (nr,Eval<nr>).
+ Eval<nr> corresponds with a CrossCallEntry generated by NewCrossCallEntry (nr,Eval<nr>).
*/
void EvalCcRqCLIPBOARDHASTEXT (CrossCallInfo *pcci) /* no arguments; bool result. */
{
printf("EvalCcRqCLIPBOARDHASTEXT\n");
- MakeReturn1Cci (pcci,(int) gtk_clipboard_wait_is_text_available(gtk_clipboard_get(GDK_NONE)));
+ MakeReturn1Cci (pcci,(int) gtk_clipboard_wait_is_text_available(gtk_clipboard_get(GDK_NONE)));
}
void EvalCcRqSETCLIPBOARDTEXT (CrossCallInfo *pcci) /* textptr; no result. */
{
- const gchar *text = (const gchar *) pcci->p1;
+ const gchar *text = (const gchar *) pcci->p1;
printf("EvalCcRqSETCLIPBOARDTEXT\n");
- gtk_clipboard_set_text (gtk_clipboard_get(GDK_NONE),
+ gtk_clipboard_set_text (gtk_clipboard_get(GDK_NONE),
text, strlen(text));
- MakeReturn0Cci (pcci);
+ MakeReturn0Cci (pcci);
}
void EvalCcRqGETCLIPBOARDTEXT (CrossCallInfo *pcci) /* no params; string result. */
{
- gchar *text, *result;
+ gchar *text, *result;
printf("EvalCcRqGETCLIPBOARDTEXT\n");
- text = gtk_clipboard_wait_for_text(gtk_clipboard_get(GDK_NONE));
- result = g_strdup(text);
- g_free(text);
+ text = gtk_clipboard_wait_for_text(gtk_clipboard_get(GDK_NONE));
+ result = g_strdup(text);
+ g_free(text);
- MakeReturn1Cci (pcci, (int64_t) result);
+ MakeReturn1Cci (pcci, (int64_t) result);
}
/* Install the cross call procedures in the gCrossCallProcedureTable of cCrossCall_121.
*/
OS InstallCrossCallClipboard (OS ios)
{
- CrossCallProcedureTable newTable;
+ CrossCallProcedureTable newTable;
printf("InstallCrossCallClipboard\n");
- newTable = EmptyCrossCallProcedureTable ();
- AddCrossCallEntry (newTable, CcRqCLIPBOARDHASTEXT, EvalCcRqCLIPBOARDHASTEXT);
- AddCrossCallEntry (newTable, CcRqSETCLIPBOARDTEXT, EvalCcRqSETCLIPBOARDTEXT);
- AddCrossCallEntry (newTable, CcRqGETCLIPBOARDTEXT, EvalCcRqGETCLIPBOARDTEXT);
- AddCrossCallEntries (gCrossCallProcedureTable, newTable);
+ newTable = EmptyCrossCallProcedureTable ();
+ AddCrossCallEntry (newTable, CcRqCLIPBOARDHASTEXT, EvalCcRqCLIPBOARDHASTEXT);
+ AddCrossCallEntry (newTable, CcRqSETCLIPBOARDTEXT, EvalCcRqSETCLIPBOARDTEXT);
+ AddCrossCallEntry (newTable, CcRqGETCLIPBOARDTEXT, EvalCcRqGETCLIPBOARDTEXT);
+ AddCrossCallEntries (gCrossCallProcedureTable, newTable);
return ios;
}
diff --git a/Linux_C_12/cCrossCallFileSelectors_121.c b/Linux_C_12/cCrossCallFileSelectors_121.c index ff06bc0..c7f0009 100644 --- a/Linux_C_12/cCrossCallFileSelectors_121.c +++ b/Linux_C_12/cCrossCallFileSelectors_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 standard file selector dialogues.
+ About this module:
+ Routines related to standard file selector dialogues.
********************************************************************************************/
#include "cCrossCallFileSelectors_121.h"
#include "util_121.h"
@@ -16,143 +16,143 @@ extern GtkWidget *gActiveTopLevelWindow; void EvalCcRqDIRECTORYDIALOG (CrossCallInfo *pcci) /* no params; bool, textptr result; */
{
- GtkWidget *file_selector;
+ GtkWidget *file_selector;
printf("EvalCcRqDIRECTORYDIALOG\n");
- file_selector = gtk_file_selection_new("Select directory");
-
- if (gActiveTopLevelWindow)
- {
- gtk_window_set_transient_for(GTK_WINDOW(file_selector), GTK_WINDOW(gActiveTopLevelWindow));
- }
-
- for (;;)
- {
- if (gtk_dialog_run(GTK_DIALOG(file_selector)) == GTK_RESPONSE_OK)
- {
- gchar *file_name;
- G_CONST_RETURN gchar *fname = gtk_file_selection_get_filename(GTK_FILE_SELECTION(file_selector));
- if (!g_file_test(fname, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR))
- {
- GtkWidget *dialog =
- gtk_message_dialog_new (GTK_WINDOW(file_selector),
- GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_MESSAGE_ERROR,
- GTK_BUTTONS_OK,
- "%s directory not found",
- fname);
- gtk_dialog_run (GTK_DIALOG (dialog));
- gtk_widget_destroy (dialog);
- continue;
- }
-
- file_name = g_strdup(fname);
- gtk_widget_destroy(file_selector);
- MakeReturn2Cci(pcci, gtk_true(), (int64_t) file_name);
- return;
- }
- else
- {
- gtk_widget_destroy(file_selector);
- MakeReturn2Cci(pcci, gtk_false(), (int64_t) NULL);
- return;
- }
- }
+ file_selector = gtk_file_selection_new("Select directory");
+
+ if (gActiveTopLevelWindow)
+ {
+ gtk_window_set_transient_for(GTK_WINDOW(file_selector), GTK_WINDOW(gActiveTopLevelWindow));
+ }
+
+ for (;;)
+ {
+ if (gtk_dialog_run(GTK_DIALOG(file_selector)) == GTK_RESPONSE_OK)
+ {
+ gchar *file_name;
+ G_CONST_RETURN gchar *fname = gtk_file_selection_get_filename(GTK_FILE_SELECTION(file_selector));
+ if (!g_file_test(fname, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR))
+ {
+ GtkWidget *dialog =
+ gtk_message_dialog_new (GTK_WINDOW(file_selector),
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_OK,
+ "%s directory not found",
+ fname);
+ gtk_dialog_run (GTK_DIALOG (dialog));
+ gtk_widget_destroy (dialog);
+ continue;
+ }
+
+ file_name = g_strdup(fname);
+ gtk_widget_destroy(file_selector);
+ MakeReturn2Cci(pcci, gtk_true(), (int64_t) file_name);
+ return;
+ }
+ else
+ {
+ gtk_widget_destroy(file_selector);
+ MakeReturn2Cci(pcci, gtk_false(), (int64_t) NULL);
+ return;
+ }
+ }
}
void EvalCcRqFILEOPENDIALOG (CrossCallInfo *pcci) /* no params; bool, textptr result; */
{
- GtkWidget *file_selector;
+ GtkWidget *file_selector;
printf("EvalCcFILEOPENDIALOG\n");
- file_selector = gtk_file_selection_new("Open");
-
- if (gActiveTopLevelWindow)
- {
- gtk_widget_set_parent(file_selector, gActiveTopLevelWindow);
- gtk_window_set_transient_for(GTK_WINDOW(file_selector), GTK_WINDOW(gActiveTopLevelWindow));
- }
-
- for (;;)
- {
- if (gtk_dialog_run(GTK_DIALOG(file_selector)) == GTK_RESPONSE_OK)
- {
- gchar *file_name;
- G_CONST_RETURN gchar *fname = gtk_file_selection_get_filename(GTK_FILE_SELECTION(file_selector));
- if (!g_file_test(fname, G_FILE_TEST_EXISTS))
- {
- GtkWidget *dialog =
- gtk_message_dialog_new (GTK_WINDOW(file_selector),
- GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_MESSAGE_ERROR,
- GTK_BUTTONS_OK,
- "%s file not found",
- fname);
- gtk_dialog_run (GTK_DIALOG (dialog));
- gtk_widget_destroy (dialog);
- continue;
- }
-
- file_name = g_strdup(fname);
- gtk_widget_destroy(file_selector);
- MakeReturn2Cci(pcci, gtk_true(), (int64_t) file_name);
- return;
- }
- else
- {
- gtk_widget_destroy(file_selector);
- MakeReturn2Cci(pcci, gtk_false(), (int64_t) NULL);
- return;
- }
- }
+ file_selector = gtk_file_selection_new("Open");
+
+ if (gActiveTopLevelWindow)
+ {
+ gtk_widget_set_parent(file_selector, gActiveTopLevelWindow);
+ gtk_window_set_transient_for(GTK_WINDOW(file_selector), GTK_WINDOW(gActiveTopLevelWindow));
+ }
+
+ for (;;)
+ {
+ if (gtk_dialog_run(GTK_DIALOG(file_selector)) == GTK_RESPONSE_OK)
+ {
+ gchar *file_name;
+ G_CONST_RETURN gchar *fname = gtk_file_selection_get_filename(GTK_FILE_SELECTION(file_selector));
+ if (!g_file_test(fname, G_FILE_TEST_EXISTS))
+ {
+ GtkWidget *dialog =
+ gtk_message_dialog_new (GTK_WINDOW(file_selector),
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_OK,
+ "%s file not found",
+ fname);
+ gtk_dialog_run (GTK_DIALOG (dialog));
+ gtk_widget_destroy (dialog);
+ continue;
+ }
+
+ file_name = g_strdup(fname);
+ gtk_widget_destroy(file_selector);
+ MakeReturn2Cci(pcci, gtk_true(), (int64_t) file_name);
+ return;
+ }
+ else
+ {
+ gtk_widget_destroy(file_selector);
+ MakeReturn2Cci(pcci, gtk_false(), (int64_t) NULL);
+ return;
+ }
+ }
}
void EvalCcRqFILESAVEDIALOG (CrossCallInfo *pcci) /* promptptr, nameptr; bool, textptr result; */
{
- GtkWidget *file_selector;
+ GtkWidget *file_selector;
printf("EvalCcFILESAVEDDIALOG\n");
- file_selector = gtk_file_selection_new((gchar *) pcci->p1);
-
- if (gActiveTopLevelWindow)
- {
- gtk_widget_set_parent(file_selector, gActiveTopLevelWindow);
- gtk_window_set_transient_for(GTK_WINDOW(file_selector), GTK_WINDOW(gActiveTopLevelWindow));
- }
-
- gtk_file_selection_set_filename((GtkFileSelection*) file_selector, (gchar *) pcci->p2);
-
- for (;;)
- {
- if (gtk_dialog_run(GTK_DIALOG(file_selector)) == GTK_RESPONSE_OK)
- {
- gchar *file_name;
- G_CONST_RETURN gchar *fname = gtk_file_selection_get_filename(GTK_FILE_SELECTION(file_selector));
- if (g_file_test(fname, G_FILE_TEST_EXISTS))
- {
- gint res;
- GtkWidget *dialog =
- gtk_message_dialog_new (GTK_WINDOW(file_selector),
- GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_MESSAGE_WARNING,
- GTK_BUTTONS_YES_NO,
- "%s already exists. Do you want to replace id?",
- fname);
- res = gtk_dialog_run (GTK_DIALOG (dialog));
- gtk_widget_destroy (dialog);
-
- if (res == GTK_RESPONSE_NO) continue;
- }
-
- file_name = g_strdup(fname);
- gtk_widget_destroy(file_selector);
- MakeReturn2Cci(pcci, gtk_true(), (int64_t) file_name);
- return;
- }
- else
- {
- gtk_widget_destroy(file_selector);
- MakeReturn2Cci(pcci, gtk_false(), (int64_t) NULL);
- return;
- }
- }
+ file_selector = gtk_file_selection_new((gchar *) pcci->p1);
+
+ if (gActiveTopLevelWindow)
+ {
+ gtk_widget_set_parent(file_selector, gActiveTopLevelWindow);
+ gtk_window_set_transient_for(GTK_WINDOW(file_selector), GTK_WINDOW(gActiveTopLevelWindow));
+ }
+
+ gtk_file_selection_set_filename((GtkFileSelection*) file_selector, (gchar *) pcci->p2);
+
+ for (;;)
+ {
+ if (gtk_dialog_run(GTK_DIALOG(file_selector)) == GTK_RESPONSE_OK)
+ {
+ gchar *file_name;
+ G_CONST_RETURN gchar *fname = gtk_file_selection_get_filename(GTK_FILE_SELECTION(file_selector));
+ if (g_file_test(fname, G_FILE_TEST_EXISTS))
+ {
+ gint res;
+ GtkWidget *dialog =
+ gtk_message_dialog_new (GTK_WINDOW(file_selector),
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_WARNING,
+ GTK_BUTTONS_YES_NO,
+ "%s already exists. Do you want to replace id?",
+ fname);
+ res = gtk_dialog_run (GTK_DIALOG (dialog));
+ gtk_widget_destroy (dialog);
+
+ if (res == GTK_RESPONSE_NO) continue;
+ }
+
+ file_name = g_strdup(fname);
+ gtk_widget_destroy(file_selector);
+ MakeReturn2Cci(pcci, gtk_true(), (int64_t) file_name);
+ return;
+ }
+ else
+ {
+ gtk_widget_destroy(file_selector);
+ MakeReturn2Cci(pcci, gtk_false(), (int64_t) NULL);
+ return;
+ }
+ }
}
@@ -160,14 +160,14 @@ void EvalCcRqFILESAVEDIALOG (CrossCallInfo *pcci) /* promptptr, nameptr; bool, */
OS InstallCrossCallFileSelectors(OS ios)
{
- CrossCallProcedureTable newTable;
+ CrossCallProcedureTable newTable;
printf("InstallCrossCallFileSelectors\n");
- newTable = EmptyCrossCallProcedureTable ();
- AddCrossCallEntry (newTable, CcRqDIRECTORYDIALOG,EvalCcRqDIRECTORYDIALOG);
- AddCrossCallEntry (newTable, CcRqFILEOPENDIALOG, EvalCcRqFILEOPENDIALOG);
- AddCrossCallEntry (newTable, CcRqFILESAVEDIALOG, EvalCcRqFILESAVEDIALOG);
- AddCrossCallEntries (gCrossCallProcedureTable, newTable);
+ newTable = EmptyCrossCallProcedureTable ();
+ AddCrossCallEntry (newTable, CcRqDIRECTORYDIALOG,EvalCcRqDIRECTORYDIALOG);
+ AddCrossCallEntry (newTable, CcRqFILEOPENDIALOG, EvalCcRqFILEOPENDIALOG);
+ AddCrossCallEntry (newTable, CcRqFILESAVEDIALOG, EvalCcRqFILESAVEDIALOG);
+ AddCrossCallEntries (gCrossCallProcedureTable, newTable);
return ios;
}
diff --git a/Linux_C_12/cCrossCallFont_121.c b/Linux_C_12/cCrossCallFont_121.c index c0e1cd3..57e367f 100644 --- a/Linux_C_12/cCrossCallFont_121.c +++ b/Linux_C_12/cCrossCallFont_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 font handling.
+ About this module:
+ Routines related to font handling.
********************************************************************************************/
#include "cCrossCallFont_121.h"
#include "cCrossCall_121.h"
@@ -14,43 +14,43 @@ /*
static int CALLBACK EnumFontNameProc (ENUMLOGFONT FAR * lpelf, // pointer to logical-font data
- NEWTEXTMETRIC FAR * lpntm, // pointer to physical-font data
- int fontType, // type of font
- LPARAM lParam // address of application-defined data
- )
+ NEWTEXTMETRIC FAR * lpntm, // pointer to physical-font data
+ int fontType, // type of font
+ LPARAM lParam // address of application-defined data
+ )
{
- SendMessage1ToClean (CcCbFONTNAME, lpelf->elfLogFont.lfFaceName);
+ SendMessage1ToClean (CcCbFONTNAME, lpelf->elfLogFont.lfFaceName);
- return 1;
+ return 1;
}
static int CALLBACK EnumFontSizeProc (ENUMLOGFONT FAR * lpelf, // pointer to logical-font data
- NEWTEXTMETRIC FAR * lpntm, // pointer to physical-font data
- int fontType, // type of font
- LPARAM lParam // address of application-defined data
- )
+ NEWTEXTMETRIC FAR * lpntm, // pointer to physical-font data
+ int fontType, // type of font
+ LPARAM lParam // address of application-defined data
+ )
{
- SendMessage2ToClean (CcCbFONTSIZE,lpntm->tmHeight - lpntm->tmInternalLeading, fontType == TRUETYPE_FONTTYPE);
+ SendMessage2ToClean (CcCbFONTSIZE,lpntm->tmHeight - lpntm->tmInternalLeading, fontType == TRUETYPE_FONTTYPE);
- if (fontType == TRUETYPE_FONTTYPE)
- return 0;
- else
- return 1;
+ if (fontType == TRUETYPE_FONTTYPE)
+ return 0;
+ else
+ return 1;
}
*/
/* Cross call procedure implementations.
- Eval<nr> corresponds with a CrossCallEntry generated by NewCrossCallEntry (nr,Eval<nr>).
+ Eval<nr> corresponds with a CrossCallEntry generated by NewCrossCallEntry (nr,Eval<nr>).
*/
void EvalCcRqGETFONTNAMES (CrossCallInfo *pcci) // no params; no result.
{
/* HDC hdc;
- hdc = GetDC (ghMainWindow);
- EnumFontFamilies (hdc, NULL, (FONTENUMPROC) EnumFontNameProc, 0);
- ReleaseDC (ghMainWindow, hdc);
- MakeReturn0Cci (pcci);
+ hdc = GetDC (ghMainWindow);
+ EnumFontFamilies (hdc, NULL, (FONTENUMPROC) EnumFontNameProc, 0);
+ ReleaseDC (ghMainWindow, hdc);
+ MakeReturn0Cci (pcci);
*/
printf("EvalCcRqGETFONTNAMES -> not implemented");
MakeReturn0Cci(pcci);
@@ -60,11 +60,11 @@ void EvalCcRqGETFONTSIZES (CrossCallInfo *pcci) // textptr; no result. {
/* HDC hdc;
- hdc = GetDC (ghMainWindow);
- EnumFontFamilies (hdc, (char *) pcci->p1, (FONTENUMPROC) EnumFontSizeProc, 0);
- ReleaseDC (ghMainWindow, hdc);
- rfree ((char *) pcci->p1);
- MakeReturn0Cci (pcci);
+ hdc = GetDC (ghMainWindow);
+ EnumFontFamilies (hdc, (char *) pcci->p1, (FONTENUMPROC) EnumFontSizeProc, 0);
+ ReleaseDC (ghMainWindow, hdc);
+ rfree ((char *) pcci->p1);
+ MakeReturn0Cci (pcci);
*/
printf("EvalCcRqGETFONTSIZES -> not implemented");
MakeReturn0Cci(pcci);
@@ -75,13 +75,13 @@ void EvalCcRqGETFONTSIZES (CrossCallInfo *pcci) // textptr; no result. // cross call procedures managed by cCrossCall_121.c.
OS InstallCrossCallFont (OS ios)
{
- CrossCallProcedureTable newTable;
+ CrossCallProcedureTable newTable;
printf("InstallCrossCallFont\n");
- newTable = EmptyCrossCallProcedureTable ();
- AddCrossCallEntry (newTable, CcRqGETFONTNAMES,EvalCcRqGETFONTNAMES);
- AddCrossCallEntry (newTable, CcRqGETFONTSIZES,EvalCcRqGETFONTSIZES);
- AddCrossCallEntries (gCrossCallProcedureTable, newTable);
+ newTable = EmptyCrossCallProcedureTable ();
+ AddCrossCallEntry (newTable, CcRqGETFONTNAMES,EvalCcRqGETFONTNAMES);
+ AddCrossCallEntry (newTable, CcRqGETFONTSIZES,EvalCcRqGETFONTSIZES);
+ AddCrossCallEntries (gCrossCallProcedureTable, newTable);
return ios;
}
diff --git a/Linux_C_12/cCrossCallMenus_121.c b/Linux_C_12/cCrossCallMenus_121.c index d3ae18e..745adef 100644 --- a/Linux_C_12/cCrossCallMenus_121.c +++ b/Linux_C_12/cCrossCallMenus_121.c @@ -1,71 +1,71 @@ /********************************************************************************************
- 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 menu handling.
+ About this module:
+ Routines related to menu handling.
********************************************************************************************/
#include "cCrossCallMenus_121.h"
#include "cCrossCall_121.h"
/* Cross call procedure implementations.
- Eval<nr> corresponds with a CrossCallEntry generated by NewCrossCallEntry (nr,Eval<nr>).
+ Eval<nr> corresponds with a CrossCallEntry generated by NewCrossCallEntry (nr,Eval<nr>).
*/
/* Remove a shortkey from a framewindow shortkey table. */
static gboolean dummy_find_accel(GtkAccelKey *key, GClosure *closure, gpointer data)
{
printf("dummy_find_accel\n");
- return gtk_true();
+ return gtk_true();
}
void EvalCcRqREMOVEMENUSHORTKEY (CrossCallInfo *pcci) /* frameptr, cmd; no result. */
{
- GtkWidget *frame;
- GtkWidget *box;
- GtkWidget *menu_item;
- GtkAccelGroup *accel_group;
+ GtkWidget *frame;
+ GtkWidget *box;
+ GtkWidget *menu_item;
+ GtkAccelGroup *accel_group;
printf("EvalCcRqREMOVEMENUSHORTKEY\n");
- frame = GTK_WIDGET(pcci->p1);
- menu_item = GTK_WIDGET(pcci->p2);
+ frame = GTK_WIDGET(pcci->p1);
+ menu_item = GTK_WIDGET(pcci->p2);
- accel_group = ((GtkAccelGroup*)gtk_accel_groups_from_object(G_OBJECT(frame))->data);
+ accel_group = ((GtkAccelGroup*)gtk_accel_groups_from_object(G_OBJECT(frame))->data);
- for (;;)
- {
- GtkAccelKey *key = gtk_accel_group_find(accel_group, dummy_find_accel, NULL);
- if (!key) break;
+ for (;;)
+ {
+ GtkAccelKey *key = gtk_accel_group_find(accel_group, dummy_find_accel, NULL);
+ if (!key) break;
- gtk_widget_remove_accelerator(menu_item,
- accel_group,
- key->accel_key,
- key->accel_mods);
- }
+ gtk_widget_remove_accelerator(menu_item,
+ accel_group,
+ key->accel_key,
+ key->accel_mods);
+ }
- MakeReturn0Cci (pcci);
+ MakeReturn0Cci (pcci);
}
void EvalCcRqMODIFYMENUITEM (CrossCallInfo *pcci) /* hitem, hmenu, textptr; no result. */
{
- GtkWidget *menu, *menu_item, *label;
- gchar *title;
+ GtkWidget *menu, *menu_item, *label;
+ gchar *title;
printf("EvalCcRqMODIFYMENUITEM\n");
- title = createMnemonicString((gchar *) pcci->p3);
+ title = createMnemonicString((gchar *) pcci->p3);
- menu = GTK_WIDGET(pcci->p2);
- menu_item = GTK_WIDGET(pcci->p1);
- label = gtk_bin_get_child(GTK_BIN(menu_item));
- gtk_label_set_text_with_mnemonic(GTK_LABEL(label), title);
+ menu = GTK_WIDGET(pcci->p2);
+ menu_item = GTK_WIDGET(pcci->p1);
+ label = gtk_bin_get_child(GTK_BIN(menu_item));
+ gtk_label_set_text_with_mnemonic(GTK_LABEL(label), title);
- rfree(title);
+ rfree(title);
- MakeReturn0Cci (pcci);
+ MakeReturn0Cci (pcci);
}
static int in_handler_flag = 0;
@@ -73,20 +73,20 @@ static int in_handler_flag = 0; static void menuitem_activate_handler(GtkMenuItem *menu_item)
{
printf("menuitem_activate_handler\n");
- if (in_handler_flag == 0)
- {
- in_handler_flag = 1;
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_item), !(GTK_CHECK_MENU_ITEM(menu_item)->active));
- SendMessage2ToClean (CcWmCOMMAND, GTK_WIDGET(menu_item), GetModifiers ());
- in_handler_flag = 0;
- }
+ if (in_handler_flag == 0)
+ {
+ in_handler_flag = 1;
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_item), !(GTK_CHECK_MENU_ITEM(menu_item)->active));
+ SendMessage2ToClean (CcWmCOMMAND, GTK_WIDGET(menu_item), GetModifiers ());
+ in_handler_flag = 0;
+ }
}
void EvalCcRqINSERTMENUITEM (CrossCallInfo *pcci)
{
- gchar *title;
- GtkWidget *menu, *menu_item, *label;
- GtkAccelGroup *accel_group;
+ gchar *title;
+ GtkWidget *menu, *menu_item, *label;
+ GtkAccelGroup *accel_group;
guint graystate, checkstate;
printf("EvalCcRqINSERTMENUITEM\n");
@@ -111,58 +111,58 @@ void EvalCcRqINSERTMENUITEM (CrossCallInfo *pcci) printf("%s\n", (checkstate ? "checked" : "unchecked"));
printf("Calling Make Mnemonic string with: %s\n", (gchar*)pcci->p3);
- title = createMnemonicString((gchar *) pcci->p3);
+ title = createMnemonicString((gchar *) pcci->p3);
printf("Got title: %s\n", title);
- menu = GTK_WIDGET(pcci->p2);
+ menu = GTK_WIDGET(pcci->p2);
printf("Menu widget: %s\n", gtk_menu_get_title(GTK_MENU(menu)));
printf("Creating new menu item\n");
- menu_item = gtk_menu_item_new_with_mnemonic(title);
+ menu_item = gtk_menu_item_new_with_mnemonic(title);
gtk_menu_shell_insert( GTK_MENU_SHELL (menu), menu_item, (gint) pcci->p5);
- //gtk_accel_label_set_accel_widget(GTK_ACCEL_LABEL(label), menu_item);
- //gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_item), ((pcci->p1 & 1) != 0));
- //gtk_widget_set_sensitive(menu_item, ((pcci->p1 & 2) != 0));
+ //gtk_accel_label_set_accel_widget(GTK_ACCEL_LABEL(label), menu_item);
+ //gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_item), ((pcci->p1 & 1) != 0));
+ //gtk_widget_set_sensitive(menu_item, ((pcci->p1 & 2) != 0));
- gtk_signal_connect_object (GTK_OBJECT (menu_item), "activate",
- GTK_SIGNAL_FUNC (menuitem_activate_handler), menu_item);
+ gtk_signal_connect_object (GTK_OBJECT (menu_item), "activate",
+ GTK_SIGNAL_FUNC (menuitem_activate_handler), menu_item);
- gtk_widget_show(menu_item);
+ gtk_widget_show(menu_item);
printf("About to free title: %s\n", title);
- rfree(title);
+ rfree(title);
printf("Freed title\n");
/* if (key != 0)
- {
+ {
printf("Creating accellerators\n");
- accel_group = ((GtkAccelGroup *) gtk_accel_groups_from_object (G_OBJECT(frame))->data);
-
- gtk_widget_add_accelerator(menu_item, "activate",
- accel_group,
- key,
- GDK_CONTROL_MASK,
- GTK_ACCEL_VISIBLE);
- gtk_widget_add_accelerator(menu_item, "activate",
- accel_group,
- key,
- GDK_CONTROL_MASK | GDK_SHIFT_MASK,
- 0);
- gtk_widget_add_accelerator(menu_item, "activate",
- accel_group,
- key,
- GDK_CONTROL_MASK | GDK_MOD1_MASK,
- 0);
- gtk_widget_add_accelerator(menu_item, "activate",
- accel_group,
- key,
- GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SHIFT_MASK,
- 0);
- }
+ accel_group = ((GtkAccelGroup *) gtk_accel_groups_from_object (G_OBJECT(frame))->data);
+
+ gtk_widget_add_accelerator(menu_item, "activate",
+ accel_group,
+ key,
+ GDK_CONTROL_MASK,
+ GTK_ACCEL_VISIBLE);
+ gtk_widget_add_accelerator(menu_item, "activate",
+ accel_group,
+ key,
+ GDK_CONTROL_MASK | GDK_SHIFT_MASK,
+ 0);
+ gtk_widget_add_accelerator(menu_item, "activate",
+ accel_group,
+ key,
+ GDK_CONTROL_MASK | GDK_MOD1_MASK,
+ 0);
+ gtk_widget_add_accelerator(menu_item, "activate",
+ accel_group,
+ key,
+ GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SHIFT_MASK,
+ 0);
+ }
*/
printf("Creating return Cci\n");
- MakeReturn1Cci (pcci, (int64_t) menu_item);
+ MakeReturn1Cci (pcci, (int64_t) menu_item);
}
/* Cross call procedure implementations.
@@ -195,23 +195,23 @@ void EvalCcRqADDMENUSHORTKEY (CrossCallInfo *pcci) /* frameptr, cmd, key; no re static void find_item_callback(GtkWidget *menu_item, gpointer data)
{
printf("find_item_callback\n");
- if (GTK_IS_MENU_ITEM(menu_item) && GTK_MENU_ITEM (menu_item)->submenu == ((GtkWidget *) data))
- *((GtkWidget **) data) = menu_item;
+ if (GTK_IS_MENU_ITEM(menu_item) && GTK_MENU_ITEM (menu_item)->submenu == ((GtkWidget *) data))
+ *((GtkWidget **) data) = menu_item;
}
void EvalCcRqITEMENABLE (CrossCallInfo *pcci) /* parent, HITEM, onoff; no result. */
{
- GtkWidget *menu, *menu_item;
+ GtkWidget *menu, *menu_item;
printf("EvalCcRqITEMENABLE\n");
- menu = GTK_WIDGET(pcci->p1);
- menu_item = GTK_WIDGET(pcci->p2);
+ menu = GTK_WIDGET(pcci->p1);
+ menu_item = GTK_WIDGET(pcci->p2);
printf("Menu widget: %s\n", gtk_menu_get_title((GtkMenu*)menu));
printf("EvalCcRqITEMENABLE\n");
- gtk_widget_set_sensitive(menu_item, (gboolean) pcci->p3);
+ gtk_widget_set_sensitive(menu_item, (gboolean) pcci->p3);
- MakeReturn0Cci (pcci);
+ MakeReturn0Cci (pcci);
}
/* Destroy a menu 'physically' */
@@ -228,100 +228,100 @@ void EvalCcRqDESTROYMENU (CrossCallInfo *pcci) /* HMENU; no result. */ /* Remove a menu logically */
void EvalCcRqDELETEMENU (CrossCallInfo *pcci) /* HMENU, HITEM; no result. */
{
- GtkWidget *menu, *menu_item;
+ GtkWidget *menu, *menu_item;
printf("EvalCcRqDELETEMENU\n");
- menu = GTK_WIDGET(pcci->p1);
- menu_item = GTK_WIDGET(pcci->p2);
+ menu = GTK_WIDGET(pcci->p1);
+ menu_item = GTK_WIDGET(pcci->p2);
- gtk_container_foreach(GTK_CONTAINER(menu), find_item_callback, (gpointer) &menu_item);
- if (menu_item != GTK_WIDGET(pcci->p2))
- {
- gtk_menu_item_remove_submenu(GTK_MENU_ITEM(menu_item));
- gtk_widget_destroy(menu_item);
- }
+ gtk_container_foreach(GTK_CONTAINER(menu), find_item_callback, (gpointer) &menu_item);
+ if (menu_item != GTK_WIDGET(pcci->p2))
+ {
+ gtk_menu_item_remove_submenu(GTK_MENU_ITEM(menu_item));
+ gtk_widget_destroy(menu_item);
+ }
- MakeReturn0Cci (pcci);
+ MakeReturn0Cci (pcci);
}
void EvalCcRqREMOVEMENUITEM (CrossCallInfo *pcci) /* menu, HITEM; no result. */
{
- GtkWidget *menu, *menu_item;
+ GtkWidget *menu, *menu_item;
printf("EvalCcRqREMOVEMENUITEM\n");
- menu = GTK_WIDGET(pcci->p1);
- menu_item = GTK_WIDGET(pcci->p2);
+ menu = GTK_WIDGET(pcci->p1);
+ menu_item = GTK_WIDGET(pcci->p2);
- gtk_menu_item_remove_submenu(GTK_MENU_ITEM(menu_item));
- gtk_widget_destroy(menu_item);
+ gtk_menu_item_remove_submenu(GTK_MENU_ITEM(menu_item));
+ gtk_widget_destroy(menu_item);
- MakeReturn0Cci (pcci);
+ MakeReturn0Cci (pcci);
}
void EvalCcRqINSERTSEPARATOR (CrossCallInfo *pcci) /* hmenu, pos no result. */
{
- GtkWidget *menu, *menu_item;
+ GtkWidget *menu, *menu_item;
printf("EvalCcRqINSERTSEPARATOR\n");
- menu = GTK_WIDGET(pcci->p1);
- menu_item = gtk_menu_item_new();
+ menu = GTK_WIDGET(pcci->p1);
+ menu_item = gtk_menu_item_new();
- gtk_menu_insert(GTK_MENU(menu), menu_item, (gint) pcci->p2);
- gtk_widget_show_all(menu_item);
+ gtk_menu_insert(GTK_MENU(menu), menu_item, (gint) pcci->p2);
+ gtk_widget_show_all(menu_item);
- MakeReturn1Cci (pcci, (int64_t) menu_item);
+ MakeReturn1Cci (pcci, (int64_t) menu_item);
}
void EvalCcRqMODIFYMENU (CrossCallInfo *pcci) /* hitem, hmenu, textptr; no result. */
{
- gint i;
- GtkWidget *menu, *menu_item, *label;
- gchar *title;
+ gint i;
+ GtkWidget *menu, *menu_item, *label;
+ gchar *title;
printf("EvalCcRqMODIFYMENU\n");
- title = createMnemonicString((gchar *) pcci->p3);
+ title = createMnemonicString((gchar *) pcci->p3);
- menu = GTK_WIDGET(pcci->p2);
- menu_item = GTK_WIDGET(pcci->p1);
- label = gtk_bin_get_child(GTK_BIN(menu_item));
- gtk_label_set_text_with_mnemonic(GTK_LABEL(label), title);
+ menu = GTK_WIDGET(pcci->p2);
+ menu_item = GTK_WIDGET(pcci->p1);
+ label = gtk_bin_get_child(GTK_BIN(menu_item));
+ gtk_label_set_text_with_mnemonic(GTK_LABEL(label), title);
- rfree(title);
+ rfree(title);
- MakeReturn0Cci (pcci);
+ MakeReturn0Cci (pcci);
}
/* Insert a menu into the menu bar. */
void EvalCcRqINSERTMENU (CrossCallInfo *pcci)
{
- gint i;
- gchar *title;
- GtkWidget *parent_menu, *root_menu, *sub_menu;
- GtkAccelGroup *accel_group;
+ gint i;
+ gchar *title;
+ GtkWidget *parent_menu, *root_menu, *sub_menu;
+ GtkAccelGroup *accel_group;
printf("EvalCcRqINSERTMENU\n");
- title = createMnemonicString((gchar *) pcci->p3);
- parent_menu = GTK_WIDGET(pcci->p2);
- sub_menu = GTK_WIDGET(pcci->p4);
+ title = createMnemonicString((gchar *) pcci->p3);
+ parent_menu = GTK_WIDGET(pcci->p2);
+ sub_menu = GTK_WIDGET(pcci->p4);
- if (GTK_IS_MENU_BAR(parent_menu))
- {
+ if (GTK_IS_MENU_BAR(parent_menu))
+ {
printf("Adding to a menu bar.\n");
printf("Menu Bar Name: %s\n", gtk_menu_get_title((GtkMenu*)parent_menu));
- GtkWidget *frame = gtk_widget_get_parent(gtk_widget_get_parent(parent_menu));
- accel_group = ((GtkAccelGroup*)gtk_accel_groups_from_object (G_OBJECT(frame))->data);
- }
- else
- {
+ GtkWidget *frame = gtk_widget_get_parent(gtk_widget_get_parent(parent_menu));
+ accel_group = ((GtkAccelGroup*)gtk_accel_groups_from_object (G_OBJECT(frame))->data);
+ }
+ else
+ {
printf("We're not adding to a menu bar!?!\n");
printf("Parent Menu widget: %s\n", gtk_menu_get_title((GtkMenu*)parent_menu));
- accel_group = gtk_menu_get_accel_group (GTK_MENU(parent_menu));
- }
+ accel_group = gtk_menu_get_accel_group (GTK_MENU(parent_menu));
+ }
- gtk_menu_set_accel_group (GTK_MENU(sub_menu), accel_group);
+ gtk_menu_set_accel_group (GTK_MENU(sub_menu), accel_group);
- root_menu = gtk_menu_item_new_with_mnemonic(title);
- gtk_widget_set_sensitive(root_menu, (gboolean) pcci->p1);
+ root_menu = gtk_menu_item_new_with_mnemonic(title);
+ gtk_widget_set_sensitive(root_menu, (gboolean) pcci->p1);
gtk_widget_show_all (root_menu);
gtk_menu_item_set_submenu (GTK_MENU_ITEM (root_menu), sub_menu);
@@ -330,15 +330,15 @@ void EvalCcRqINSERTMENU (CrossCallInfo *pcci) gtk_menu_get_title(GTK_MENU(root_menu)), (gint) pcci->p5, title);
if (GTK_IS_MENU_BAR(parent_menu))
{
- gtk_menu_shell_insert(GTK_MENU_SHELL(parent_menu), root_menu, (gint) pcci->p5);
+ gtk_menu_shell_insert(GTK_MENU_SHELL(parent_menu), root_menu, (gint) pcci->p5);
} else {
- gtk_menu_insert(GTK_MENU(parent_menu), root_menu, (gint) pcci->p5);
+ gtk_menu_insert(GTK_MENU(parent_menu), root_menu, (gint) pcci->p5);
}
- rfree(title);
+ rfree(title);
printf("New menu is called: %s\n", gtk_menu_get_title((GtkMenu*)root_menu));
- MakeReturn1Cci (pcci, (int64_t) sub_menu);
+ MakeReturn1Cci (pcci, (int64_t) sub_menu);
}
static void enable_menu_callback(GtkWidget *menu_item, gpointer data)
@@ -346,10 +346,10 @@ static void enable_menu_callback(GtkWidget *menu_item, gpointer data) printf("enable_menu_callback\n");
gint *val = (gint*) data;
printf("Checking: %d\n", *val);
- if (GTK_IS_MENU_ITEM(menu_item)
+ if (GTK_IS_MENU_ITEM(menu_item)
&& (*val == 0))
{
- gtk_widget_set_sensitive(menu_item, gtk_true());
+ gtk_widget_set_sensitive(menu_item, gtk_true());
}
else
{
@@ -363,10 +363,10 @@ static void disable_menu_callback(GtkWidget *menu_item, gpointer data) gint *val = (gint*) data;
printf("Checking: %d\n", *val);
- if (GTK_IS_MENU_ITEM(menu_item)
+ if (GTK_IS_MENU_ITEM(menu_item)
&& (*val == 0))
{
- gtk_widget_set_sensitive(menu_item, gtk_false());
+ gtk_widget_set_sensitive(menu_item, gtk_false());
}
else
{
@@ -376,7 +376,7 @@ static void disable_menu_callback(GtkWidget *menu_item, gpointer data) void EvalCcRqMENUENABLE (CrossCallInfo *pcci) /* parent, zero based position of menu, onoff; no result. */
{
- GtkWidget *parent_menu, *sub_menu;
+ GtkWidget *parent_menu, *sub_menu;
printf("EvalCcRqMENUENABLE\n");
gint index = pcci->p2;
@@ -391,13 +391,13 @@ void EvalCcRqMENUENABLE (CrossCallInfo *pcci) /* parent, zero based position of (gpointer) (&index));
}
- MakeReturn0Cci (pcci);
+ MakeReturn0Cci (pcci);
}
void EvalCcRqDRAWMBAR (CrossCallInfo *pcci) /* framePtr, clientPtr; no result. */
{
printf("EvalCcRqDRAWMBAR\n");
- MakeReturn0Cci (pcci);
+ MakeReturn0Cci (pcci);
}
/* Track pop up menu. */
@@ -416,7 +416,7 @@ void EvalCcRqTRACKPOPMENU (CrossCallInfo *pcci) /* popupmenu,framePtr; BOOL resu gdk_event_get_time(event));
}
- MakeReturn1Cci (pcci,(int64_t)gtk_true());
+ MakeReturn1Cci (pcci,(int64_t)gtk_true());
}
void EvalCcRqCREATEPOPMENU (CrossCallInfo *pcci) /* no params; MENU result. */
@@ -428,7 +428,7 @@ void EvalCcRqCREATEPOPMENU (CrossCallInfo *pcci) /* no params; MENU result. */ * This menu should be added to a menu bar.
*/
printf("EvalCcRqCREATEPOPMENU\n");
- MakeReturn1Cci (pcci, (int64_t) gtk_menu_new());
+ MakeReturn1Cci (pcci, (int64_t) gtk_menu_new());
}
void EvalCcRqCHECKMENUITEM (CrossCallInfo *pcci) /* menu, HITEM, on/off; no result. */
@@ -443,7 +443,7 @@ void EvalCcRqCHECKMENUITEM (CrossCallInfo *pcci) /* menu, HITEM, on/off; no resu (gboolean) pcci->p3);
}
- MakeReturn0Cci (pcci);
+ MakeReturn0Cci (pcci);
}
@@ -451,27 +451,27 @@ void EvalCcRqCHECKMENUITEM (CrossCallInfo *pcci) /* menu, HITEM, on/off; no resu */
OS InstallCrossCallMenus (OS ios)
{
- CrossCallProcedureTable newTable;
+ CrossCallProcedureTable newTable;
printf("InstallCrossCallMenus\n");
- newTable = EmptyCrossCallProcedureTable ();
- AddCrossCallEntry (newTable, CcRqADDMENUSHORTKEY, EvalCcRqADDMENUSHORTKEY);
- AddCrossCallEntry (newTable, CcRqREMOVEMENUSHORTKEY, EvalCcRqREMOVEMENUSHORTKEY);
- AddCrossCallEntry (newTable, CcRqMODIFYMENUITEM, EvalCcRqMODIFYMENUITEM);
- AddCrossCallEntry (newTable, CcRqINSERTMENUITEM, EvalCcRqINSERTMENUITEM);
- AddCrossCallEntry (newTable, CcRqITEMENABLE, EvalCcRqITEMENABLE);
- AddCrossCallEntry (newTable, CcRqDELETEMENU, EvalCcRqDELETEMENU);
+ newTable = EmptyCrossCallProcedureTable ();
+ AddCrossCallEntry (newTable, CcRqADDMENUSHORTKEY, EvalCcRqADDMENUSHORTKEY);
+ AddCrossCallEntry (newTable, CcRqREMOVEMENUSHORTKEY, EvalCcRqREMOVEMENUSHORTKEY);
+ AddCrossCallEntry (newTable, CcRqMODIFYMENUITEM, EvalCcRqMODIFYMENUITEM);
+ AddCrossCallEntry (newTable, CcRqINSERTMENUITEM, EvalCcRqINSERTMENUITEM);
+ AddCrossCallEntry (newTable, CcRqITEMENABLE, EvalCcRqITEMENABLE);
+ AddCrossCallEntry (newTable, CcRqDELETEMENU, EvalCcRqDELETEMENU);
AddCrossCallEntry (newTable, CcRqDESTROYMENU, EvalCcRqDESTROYMENU);
- AddCrossCallEntry (newTable, CcRqREMOVEMENUITEM, EvalCcRqREMOVEMENUITEM);
- AddCrossCallEntry (newTable, CcRqINSERTSEPARATOR, EvalCcRqINSERTSEPARATOR);
- AddCrossCallEntry (newTable, CcRqMODIFYMENU, EvalCcRqMODIFYMENU);
- AddCrossCallEntry (newTable, CcRqINSERTMENU, EvalCcRqINSERTMENU);
- AddCrossCallEntry (newTable, CcRqMENUENABLE, EvalCcRqMENUENABLE);
- AddCrossCallEntry (newTable, CcRqDRAWMBAR, EvalCcRqDRAWMBAR);
- AddCrossCallEntry (newTable, CcRqTRACKPOPMENU, EvalCcRqTRACKPOPMENU);
- AddCrossCallEntry (newTable, CcRqCREATEPOPMENU, EvalCcRqCREATEPOPMENU);
- AddCrossCallEntry (newTable, CcRqCHECKMENUITEM, EvalCcRqCHECKMENUITEM);
- AddCrossCallEntries (gCrossCallProcedureTable, newTable);
+ AddCrossCallEntry (newTable, CcRqREMOVEMENUITEM, EvalCcRqREMOVEMENUITEM);
+ AddCrossCallEntry (newTable, CcRqINSERTSEPARATOR, EvalCcRqINSERTSEPARATOR);
+ AddCrossCallEntry (newTable, CcRqMODIFYMENU, EvalCcRqMODIFYMENU);
+ AddCrossCallEntry (newTable, CcRqINSERTMENU, EvalCcRqINSERTMENU);
+ AddCrossCallEntry (newTable, CcRqMENUENABLE, EvalCcRqMENUENABLE);
+ AddCrossCallEntry (newTable, CcRqDRAWMBAR, EvalCcRqDRAWMBAR);
+ AddCrossCallEntry (newTable, CcRqTRACKPOPMENU, EvalCcRqTRACKPOPMENU);
+ AddCrossCallEntry (newTable, CcRqCREATEPOPMENU, EvalCcRqCREATEPOPMENU);
+ AddCrossCallEntry (newTable, CcRqCHECKMENUITEM, EvalCcRqCHECKMENUITEM);
+ AddCrossCallEntries (gCrossCallProcedureTable, newTable);
return ios;
}
diff --git a/Linux_C_12/cCrossCallPrinter_121.c b/Linux_C_12/cCrossCallPrinter_121.c index 593d736..c015036 100644 --- a/Linux_C_12/cCrossCallPrinter_121.c +++ b/Linux_C_12/cCrossCallPrinter_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 printer handling.
+ About this module:
+ Routines related to printer handling.
********************************************************************************************/
#include "cCrossCallPrinter_121.h"
@@ -22,77 +22,77 @@ extern HWND hwndText; /* MW: hwndText is the handle of the page count text in /* Cross call procedure implementations.
- Eval<nr> corresponds with a CrossCallEntry generated by NewCrossCallEntry (nr,Eval<nr>).
+ Eval<nr> corresponds with a CrossCallEntry generated by NewCrossCallEntry (nr,Eval<nr>).
*/
void EvalCcRqDO_PRINT_SETUP (CrossCallInfo *pcci)
{ int ok;
- PRINTDLG *pdPtr;
- printSetup(0, pcci->p1,
- (char*) pcci->p2, (char*) pcci->p3, (char*) pcci->p4, (char*) pcci->p5,
- &ok, &pdPtr);
- MakeReturn2Cci (pcci, ok, (int) pdPtr);
+ PRINTDLG *pdPtr;
+ printSetup(0, pcci->p1,
+ (char*) pcci->p2, (char*) pcci->p3, (char*) pcci->p4, (char*) pcci->p5,
+ &ok, &pdPtr);
+ MakeReturn2Cci (pcci, ok, (int) pdPtr);
}
void EvalCcRqGET_PRINTER_DC (CrossCallInfo *pcci)
{ int doDialog,emulateScreenRes,
- err,first,last,copies,pPrintDlg,deviceContext;
+ err,first,last,copies,pPrintDlg,deviceContext;
- // unpack doDialog and emulateScreenRes
- doDialog = (pcci->p1) & 1;
- emulateScreenRes = (pcci->p1) & 2;
+ // unpack doDialog and emulateScreenRes
+ doDialog = (pcci->p1) & 1;
+ emulateScreenRes = (pcci->p1) & 2;
- getDC( doDialog,emulateScreenRes,FALSE,pcci->p2,
- (char*) pcci->p3,(char*) pcci->p4,(char*) pcci->p5,(char*) pcci->p6,
- &err,&first,&last,&copies,(PRINTDLG**)&pPrintDlg,&deviceContext);
- MakeReturn6Cci (pcci,err,first,last,copies,pPrintDlg,deviceContext);
+ getDC( doDialog,emulateScreenRes,FALSE,pcci->p2,
+ (char*) pcci->p3,(char*) pcci->p4,(char*) pcci->p5,(char*) pcci->p6,
+ &err,&first,&last,&copies,(PRINTDLG**)&pPrintDlg,&deviceContext);
+ MakeReturn6Cci (pcci,err,first,last,copies,pPrintDlg,deviceContext);
}
void EvalCcRqSTARTDOC (CrossCallInfo *pcci)
{
- HDC hdc = (HDC) pcci->p1;
- int err;
-
- EnableWindow (ghMainWindow, FALSE) ;
- hDlgPrint = CreateCancelDialog ();
- SetAbortProc (hdc, AbortProc) ;
- err = startDoc((int) hdc);
- if (err<=0 && ghMainWindow!=NULL && !bUserAbort)
- {
- EnableWindow (ghMainWindow, TRUE) ;
- DestroyWindow (hDlgPrint) ;
- };
- MakeReturn1Cci (pcci,err);
+ HDC hdc = (HDC) pcci->p1;
+ int err;
+
+ EnableWindow (ghMainWindow, FALSE) ;
+ hDlgPrint = CreateCancelDialog ();
+ SetAbortProc (hdc, AbortProc) ;
+ err = startDoc((int) hdc);
+ if (err<=0 && ghMainWindow!=NULL && !bUserAbort)
+ {
+ EnableWindow (ghMainWindow, TRUE) ;
+ DestroyWindow (hDlgPrint) ;
+ };
+ MakeReturn1Cci (pcci,err);
}
void EvalCcRqENDDOC (CrossCallInfo *pcci)
{
- HDC hdc = (HDC) pcci->p1;
-
- endDoc((int) hdc);
- if (ghMainWindow!=NULL && !bUserAbort)
- {
- EnableWindow (ghMainWindow, TRUE) ;
- DestroyWindow (hDlgPrint) ;
- };
- MakeReturn0Cci (pcci);
+ HDC hdc = (HDC) pcci->p1;
+
+ endDoc((int) hdc);
+ if (ghMainWindow!=NULL && !bUserAbort)
+ {
+ EnableWindow (ghMainWindow, TRUE) ;
+ DestroyWindow (hDlgPrint) ;
+ };
+ MakeReturn0Cci (pcci);
}
void EvalCcRqDISPATCH_MESSAGES_WHILE_PRINTING (CrossCallInfo *pcci)
{
- MSG msg ;
- char *pageMessage= (char *) (pcci->p1);
-
- SetWindowText(hwndText,pageMessage);
-
- while (!bUserAbort && PeekMessage (&msg, NULL, 0, 0, PM_REMOVE))
- {
- if (!hDlgPrint || !IsDialogMessage (hDlgPrint, &msg))
- {
- TranslateMessage (&msg) ;
- DispatchMessage (&msg) ;
- }
- }
- MakeReturn0Cci (pcci);
+ MSG msg ;
+ char *pageMessage= (char *) (pcci->p1);
+
+ SetWindowText(hwndText,pageMessage);
+
+ while (!bUserAbort && PeekMessage (&msg, NULL, 0, 0, PM_REMOVE))
+ {
+ if (!hDlgPrint || !IsDialogMessage (hDlgPrint, &msg))
+ {
+ TranslateMessage (&msg) ;
+ DispatchMessage (&msg) ;
+ }
+ }
+ MakeReturn0Cci (pcci);
}
@@ -100,15 +100,15 @@ void EvalCcRqDISPATCH_MESSAGES_WHILE_PRINTING (CrossCallInfo *pcci) */
void InstallCrossCallPrinter ()
{
- CrossCallProcedureTable newTable;
-
- newTable = EmptyCrossCallProcedureTable ();
- AddCrossCallEntry (newTable, CcRqDO_PRINT_SETUP, EvalCcRqDO_PRINT_SETUP);
- AddCrossCallEntry (newTable, CcRqGET_PRINTER_DC, EvalCcRqGET_PRINTER_DC);
- AddCrossCallEntry (newTable, CcRqSTARTDOC, EvalCcRqSTARTDOC);
- AddCrossCallEntry (newTable, CcRqENDDOC, EvalCcRqENDDOC);
- AddCrossCallEntry (newTable, CcRqDISPATCH_MESSAGES_WHILE_PRINTING, EvalCcRqDISPATCH_MESSAGES_WHILE_PRINTING);
- AddCrossCallEntries (gCrossCallProcedureTable, newTable);
+ CrossCallProcedureTable newTable;
+
+ newTable = EmptyCrossCallProcedureTable ();
+ AddCrossCallEntry (newTable, CcRqDO_PRINT_SETUP, EvalCcRqDO_PRINT_SETUP);
+ AddCrossCallEntry (newTable, CcRqGET_PRINTER_DC, EvalCcRqGET_PRINTER_DC);
+ AddCrossCallEntry (newTable, CcRqSTARTDOC, EvalCcRqSTARTDOC);
+ AddCrossCallEntry (newTable, CcRqENDDOC, EvalCcRqENDDOC);
+ AddCrossCallEntry (newTable, CcRqDISPATCH_MESSAGES_WHILE_PRINTING, EvalCcRqDISPATCH_MESSAGES_WHILE_PRINTING);
+ AddCrossCallEntries (gCrossCallProcedureTable, newTable);
}
#else
diff --git a/Linux_C_12/cCrossCallProcedureTable_121.c b/Linux_C_12/cCrossCallProcedureTable_121.c index 9e15e26..3816e8c 100644 --- a/Linux_C_12/cCrossCallProcedureTable_121.c +++ b/Linux_C_12/cCrossCallProcedureTable_121.c @@ -1,16 +1,16 @@ /********************************************************************************************
- 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:
- Implementation of cross call procedure table.
- In this table a linked list of cross call entries is kept.
- A cross call entry is a pair of a cross call code (CcRq...) number (see intrface_121.h)
- and a pointer to a cross call procedure.
- Routines related to printer handling.
+ About this module:
+ Implementation of cross call procedure table.
+ In this table a linked list of cross call entries is kept.
+ A cross call entry is a pair of a cross call code (CcRq...) number (see intrface_121.h)
+ and a pointer to a cross call procedure.
+ Routines related to printer handling.
********************************************************************************************/
#include "cCrossCallProcedureTable_121.h"
#include <stdlib.h>
@@ -22,9 +22,9 @@ struct _crosscallentry
{
int cce_code; /* CcRq... number */
- CrossCallProcedure cce_proc; /* The procedure to be called in case of
+ CrossCallProcedure cce_proc; /* The procedure to be called in case of
cce_code */
- CrossCallEntry cce_next; /* The next entry in the list */
+ CrossCallEntry cce_next; /* The next entry in the list */
};
/*
@@ -32,44 +32,44 @@ struct _crosscallentry */
struct _crosscallproceduretable
{ int ccpt_size; // nr of entries
- CrossCallEntry ccpt_first; // first entry
- CrossCallEntry ccpt_last; // last entry
+ CrossCallEntry ccpt_first; // first entry
+ CrossCallEntry ccpt_last; // last entry
};
/* NewCrossCallEntry creates a CrossCallEntry with cce_next field NULL. */
CrossCallEntry NewCrossCallEntry (int cce_code, CrossCallProcedure cce_proc)
{
- CrossCallEntry cce;
+ CrossCallEntry cce;
/* printf("NewCrossCallEntry\n"); */
cce = rmalloc (sizeof (struct _crosscallentry));
- cce->cce_code = cce_code;
- cce->cce_proc = cce_proc;
- cce->cce_next = NULL;
+ cce->cce_code = cce_code;
+ cce->cce_proc = cce_proc;
+ cce->cce_next = NULL;
- return cce;
+ return cce;
}
/* FreeCrossCallEntry frees a CrossCallEntry. */
void FreeCrossCallEntry (CrossCallEntry cce)
{
/* printf("FreeCrossCallEntry\n"); */
- rfree (cce);
+ rfree (cce);
}
/* EmptyCrossCallProcedureTable creates an empty table. */
CrossCallProcedureTable EmptyCrossCallProcedureTable (void)
{
- CrossCallProcedureTable ccpt;
+ CrossCallProcedureTable ccpt;
/* printf("EmptyCrossCallProcedureTable\n"); */
ccpt = rmalloc (sizeof (struct _crosscallproceduretable));
- ccpt->ccpt_size = 0;
- ccpt->ccpt_first = NULL;
- ccpt->ccpt_last = NULL;
+ ccpt->ccpt_size = 0;
+ ccpt->ccpt_first = NULL;
+ ccpt->ccpt_last = NULL;
- return ccpt;
+ return ccpt;
}
/*
@@ -79,34 +79,34 @@ CrossCallProcedureTable EmptyCrossCallProcedureTable (void) int GetCrossCallProcedureTableSize (CrossCallProcedureTable ccpt)
{
/* printf("GetCrossCallProcedureTableSize\n"); */
- return ccpt->ccpt_size;
+ return ccpt->ccpt_size;
}
/* FreeCrossCallProcedureTable frees a CrossCallProcedureTable. */
void FreeCrossCallProcedureTable (CrossCallProcedureTable ccpt)
{
/* printf("FreeCrossCallProcedureTable\n"); */
- rfree (ccpt);
+ rfree (ccpt);
}
/* SearchCrossCallEntry (nr,entry) returns the first CrossCallEntry
- following/including entry that either:
- matches nr, or
- is the entry after which a new entry with nr should be added, or
- NULL in case nr should be placed before entry.
+ following/including entry that either:
+ matches nr, or
+ is the entry after which a new entry with nr should be added, or
+ NULL in case nr should be placed before entry.
*/
static CrossCallEntry SearchCrossCallEntry (int nr,CrossCallEntry entry)
{
/* printf("SearchCrossCallEntry\n"); */
- if (nr == entry->cce_code)
- return entry; // entry found
- if (nr < entry->cce_code)
- return NULL; // no entry found
- if (entry->cce_next == NULL)
- return entry; // last entry; should insert new entry after this one
- if (nr < entry->cce_next->cce_code)
- return entry; // next entry exceeds nr; should insert new entry after this one
- return SearchCrossCallEntry (nr,entry->cce_next);
+ if (nr == entry->cce_code)
+ return entry; // entry found
+ if (nr < entry->cce_code)
+ return NULL; // no entry found
+ if (entry->cce_next == NULL)
+ return entry; // last entry; should insert new entry after this one
+ if (nr < entry->cce_next->cce_code)
+ return entry; // next entry exceeds nr; should insert new entry after this one
+ return SearchCrossCallEntry (nr,entry->cce_next);
}
/*
@@ -116,57 +116,57 @@ static CrossCallEntry SearchCrossCallEntry (int nr,CrossCallEntry entry) void AddCrossCallEntry (CrossCallProcedureTable ccpt, int cce_code,
CrossCallProcedure cce_proc)
{
- CrossCallEntry entry;
+ CrossCallEntry entry;
/* printf("AddCrossCallEntry\n"); */
entry = NewCrossCallEntry (cce_code,cce_proc);
- if (ccpt->ccpt_size == 0)
- { /* table is empty; create entry and add it */
- ccpt->ccpt_size = 1;
- ccpt->ccpt_first = entry;
- ccpt->ccpt_last = entry;
- }
- else if (cce_code < ccpt->ccpt_first->cce_code)
- { /* entry should be inserted before first entry */
- ccpt->ccpt_size += 1;
- entry->cce_next = ccpt->ccpt_first;
- ccpt->ccpt_first= entry;
- }
- else if (cce_code > ccpt->ccpt_first->cce_code)
- { /* entry could be in table; look for it and add it if not present */
- CrossCallEntry searchCCE;
- searchCCE = SearchCrossCallEntry (cce_code,ccpt->ccpt_first);
-
- if (searchCCE == NULL)
- {
- /* printf("\'AddCrossCallEntry\' SearchCrossCallEntry returned NULL CrossCallEntry"); */
- exit(1);
- }
- if (searchCCE->cce_code != cce_code)
- { /* entry not in table but should be linked after searchCCE */
- gboolean appendLast = (ccpt->ccpt_last == searchCCE);
- ccpt->ccpt_size += 1;
- entry->cce_next = searchCCE->cce_next;
- searchCCE->cce_next = entry;
-
- if (appendLast)
- ccpt->ccpt_last = entry; // adjust last if entry is appended at end
- }
- }
+ if (ccpt->ccpt_size == 0)
+ { /* table is empty; create entry and add it */
+ ccpt->ccpt_size = 1;
+ ccpt->ccpt_first = entry;
+ ccpt->ccpt_last = entry;
+ }
+ else if (cce_code < ccpt->ccpt_first->cce_code)
+ { /* entry should be inserted before first entry */
+ ccpt->ccpt_size += 1;
+ entry->cce_next = ccpt->ccpt_first;
+ ccpt->ccpt_first= entry;
+ }
+ else if (cce_code > ccpt->ccpt_first->cce_code)
+ { /* entry could be in table; look for it and add it if not present */
+ CrossCallEntry searchCCE;
+ searchCCE = SearchCrossCallEntry (cce_code,ccpt->ccpt_first);
+
+ if (searchCCE == NULL)
+ {
+ /* printf("\'AddCrossCallEntry\' SearchCrossCallEntry returned NULL CrossCallEntry"); */
+ exit(1);
+ }
+ if (searchCCE->cce_code != cce_code)
+ { /* entry not in table but should be linked after searchCCE */
+ gboolean appendLast = (ccpt->ccpt_last == searchCCE);
+ ccpt->ccpt_size += 1;
+ entry->cce_next = searchCCE->cce_next;
+ searchCCE->cce_next = entry;
+
+ if (appendLast)
+ ccpt->ccpt_last = entry; // adjust last if entry is appended at end
+ }
+ }
}
/* AddCrossCallEntries (table,entries) adds the entries to table */
void AddCrossCallEntries (CrossCallProcedureTable theTable, CrossCallProcedureTable entries)
{
- CrossCallEntry cce;
+ CrossCallEntry cce;
/* printf("AddCrossCallEntries\n"); */
cce = entries->ccpt_first;
- while (cce != NULL)
- {
- AddCrossCallEntry (theTable, cce->cce_code, cce->cce_proc);
- cce = cce->cce_next;
- }
+ while (cce != NULL)
+ {
+ AddCrossCallEntry (theTable, cce->cce_code, cce->cce_proc);
+ cce = cce->cce_next;
+ }
}
/*
@@ -175,18 +175,18 @@ void AddCrossCallEntries (CrossCallProcedureTable theTable, CrossCallProcedureTa CrossCallProcedure FindCrossCallEntry (CrossCallProcedureTable ccpt, int cce_code)
{
/* printf("FindCrossCallEntry\n"); */
- if (ccpt->ccpt_size == 0)
+ if (ccpt->ccpt_size == 0)
{ /* table is empty, return NULL */
- return NULL;
+ return NULL;
+ }
+ else
+ {
+ CrossCallEntry searchCCE;
+ searchCCE = SearchCrossCallEntry (cce_code,ccpt->ccpt_first);
+ if (searchCCE && searchCCE->cce_code == cce_code)
+ return searchCCE->cce_proc;
+ else
+ return NULL;
}
- else
- {
- CrossCallEntry searchCCE;
- searchCCE = SearchCrossCallEntry (cce_code,ccpt->ccpt_first);
- if (searchCCE && searchCCE->cce_code == cce_code)
- return searchCCE->cce_proc;
- else
- return NULL;
- }
}
diff --git a/Linux_C_12/cCrossCallProcedureTable_121.h b/Linux_C_12/cCrossCallProcedureTable_121.h index 6be6d2d..5326b0b 100644 --- a/Linux_C_12/cCrossCallProcedureTable_121.h +++ b/Linux_C_12/cCrossCallProcedureTable_121.h @@ -1,7 +1,7 @@ /* Implementation of cross call procedure table.
- In this table a linked list of cross call entries is kept.
- A cross call entry is a pair of a cross call code (CcRq...) number (see intrface_121.h)
- and a pointer to a cross call procedure.
+ In this table a linked list of cross call entries is kept.
+ A cross call entry is a pair of a cross call code (CcRq...) number (see intrface_121.h)
+ and a pointer to a cross call procedure.
*/
#ifndef CROSSCALLPROCEDURETABLE_H
#define CROSSCALLPROCEDURETABLE_H
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<nr> corresponds with a CrossCallEntry generated by NewCrossCallEntry (nr,Eval<nr>).
+ Cross call procedure implementations.
+ Eval<nr> corresponds with a CrossCallEntry generated by NewCrossCallEntry (nr,Eval<nr>).
*********************************************************************************************/
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;
}
diff --git a/Linux_C_12/cCrossCall_121.c b/Linux_C_12/cCrossCall_121.c index 56b74e4..7028348 100644 --- a/Linux_C_12/cCrossCall_121.c +++ b/Linux_C_12/cCrossCall_121.c @@ -1,26 +1,26 @@ /********************************************************************************************
- 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:
- cCrossCall_121 defines the infrastructure required by the Object I/O library to call
- system procedures that interact with the Windows callback mechanism.
+ About this module:
+ cCrossCall_121 defines the infrastructure required by the Object I/O library to call
+ system procedures that interact with the Windows callback mechanism.
- The basic principle in cCrossCall_121 is to have a minimal cross call kernel. If Clean
- code requires extension of the functionality of the OS thread, then this functionality
- must be registered before being applicable.
+ The basic principle in cCrossCall_121 is to have a minimal cross call kernel. If Clean
+ code requires extension of the functionality of the OS thread, then this functionality
+ must be registered before being applicable.
- In this version the request codes are still statically fixed and are assumed to be
- globally available both in the OS thread and the Clean thread. In a future version this
- will probably be replaced by a dynamic allocation of cross call request codes.
+ In this version the request codes are still statically fixed and are assumed to be
+ globally available both in the OS thread and the Clean thread. In a future version this
+ will probably be replaced by a dynamic allocation of cross call request codes.
********************************************************************************************/
/********************************************************************************************
- Include section.
+ Include section.
********************************************************************************************/
#include "cCrossCall_121.h"
@@ -40,14 +40,14 @@ int global_argc = 0; #define _MAX_PATH 255
/**********************************************************************************************
- External global data section.
+ External global data section.
**********************************************************************************************/
CrossCallInfo gCci; /* The global cross call information struct. */
GtkTooltips *gTooltip = NULL; /* The tooltip control. */
CrossCallProcedureTable gCrossCallProcedureTable;
/**********************************************************************************************
- Internal global data section.
+ Internal global data section.
**********************************************************************************************/
static pthread_mutex_t gCleanMutex;
@@ -63,213 +63,213 @@ static CrossCallInfo *MakeQuitCci (CrossCallInfo * pcci); */
int GetModifiers (void)
{
- int mods = 0;
- GdkModifierType state;
+ int mods = 0;
+ GdkModifierType state;
/*printf("GetModifiers\n");*/
- gdk_event_get_state(gtk_get_current_event(), &state);
+ gdk_event_get_state(gtk_get_current_event(), &state);
- if (state & GDK_SHIFT_MASK) {
- mods |= SHIFTBIT;
+ if (state & GDK_SHIFT_MASK) {
+ mods |= SHIFTBIT;
}
- if (state & GDK_CONTROL_MASK) {
- mods |= CTRLBIT;
+ if (state & GDK_CONTROL_MASK) {
+ mods |= CTRLBIT;
}
- if (state & GDK_MOD1_MASK) {
- mods |= ALTBIT;
+ if (state & GDK_MOD1_MASK) {
+ mods |= ALTBIT;
}
- return mods;
+ return mods;
}
/* Translate virtual key codes to the codes shared with Clean.
- This procedure has been filtered from TranslateKeyboardMessage.
- If the keycode could not be translated, zero is returned.
+ This procedure has been filtered from TranslateKeyboardMessage.
+ If the keycode could not be translated, zero is returned.
*/
int CheckVirtualKeyCode (int keycode)
{
- int c = 0;
+ int c = 0;
/* printf("CheckVirtualKeyCode\n");*/
- switch (keycode)
- {
- case GDK_Up:
- c = WinUpKey;
- break;
- case GDK_Down:
- c = WinDownKey;
- break;
- case GDK_Left:
- c = WinLeftKey;
- break;
- case GDK_Right:
- c = WinRightKey;
- break;
- case GDK_Page_Up:
- c = WinPgUpKey;
- break;
- case GDK_Page_Down:
- c = WinPgDownKey;
- break;
- case GDK_End:
- c = WinEndKey;
- break;
- case GDK_Begin:
- c = WinBeginKey;
- break;
- case GDK_BackSpace:
- c = WinBackSpKey;
- break;
- case GDK_Delete:
- c = WinDelKey;
- break;
- case GDK_Tab:
- c = WinTabKey;
- break;
- case GDK_Return:
- c = WinReturnKey;
- break;
- case GDK_Escape:
- c = WinEscapeKey;
- break;
- case GDK_Help:
- c = WinHelpKey;
- break;
- case GDK_F1:
- c = WinF1Key;
- break;
- case GDK_F2:
- c = WinF2Key;
- break;
- case GDK_F3:
- c = WinF3Key;
- break;
- case GDK_F4:
- c = WinF4Key;
- break;
- case GDK_F5:
- c = WinF5Key;
- break;
- case GDK_F6:
- c = WinF6Key;
- break;
- case GDK_F7:
- c = WinF7Key;
- break;
- case GDK_F8:
- c = WinF8Key;
- break;
- case GDK_F9:
- c = WinF9Key;
- break;
- case GDK_F10:
- c = WinF10Key;
- break;
- case GDK_F11:
- c = WinF11Key;
- break;
- case GDK_F12:
- c = WinF12Key;
- break;
- }
- return c;
+ switch (keycode)
+ {
+ case GDK_Up:
+ c = WinUpKey;
+ break;
+ case GDK_Down:
+ c = WinDownKey;
+ break;
+ case GDK_Left:
+ c = WinLeftKey;
+ break;
+ case GDK_Right:
+ c = WinRightKey;
+ break;
+ case GDK_Page_Up:
+ c = WinPgUpKey;
+ break;
+ case GDK_Page_Down:
+ c = WinPgDownKey;
+ break;
+ case GDK_End:
+ c = WinEndKey;
+ break;
+ case GDK_Begin:
+ c = WinBeginKey;
+ break;
+ case GDK_BackSpace:
+ c = WinBackSpKey;
+ break;
+ case GDK_Delete:
+ c = WinDelKey;
+ break;
+ case GDK_Tab:
+ c = WinTabKey;
+ break;
+ case GDK_Return:
+ c = WinReturnKey;
+ break;
+ case GDK_Escape:
+ c = WinEscapeKey;
+ break;
+ case GDK_Help:
+ c = WinHelpKey;
+ break;
+ case GDK_F1:
+ c = WinF1Key;
+ break;
+ case GDK_F2:
+ c = WinF2Key;
+ break;
+ case GDK_F3:
+ c = WinF3Key;
+ break;
+ case GDK_F4:
+ c = WinF4Key;
+ break;
+ case GDK_F5:
+ c = WinF5Key;
+ break;
+ case GDK_F6:
+ c = WinF6Key;
+ break;
+ case GDK_F7:
+ c = WinF7Key;
+ break;
+ case GDK_F8:
+ c = WinF8Key;
+ break;
+ case GDK_F9:
+ c = WinF9Key;
+ break;
+ case GDK_F10:
+ c = WinF10Key;
+ break;
+ case GDK_F11:
+ c = WinF11Key;
+ break;
+ case GDK_F12:
+ c = WinF12Key;
+ break;
+ }
+ return c;
}
static gboolean TimerCallback (gpointer data)
{
/*printf("TimerCallback\n");*/
- SendMessage0ToClean (CcWmIDLETIMER);
+ SendMessage0ToClean (CcWmIDLETIMER);
return TRUE;
}
void HandleCleanRequest (CrossCallInfo * pcci)
{
/*printf("HandleCleanRequest: Message = %d\n", pcci->mess);*/
- switch (pcci->mess)
- {
- case CcRqDOMESSAGE: /* idleTimerOn, sleeptime; no result. */
- {
- gboolean gIdleTimerOn = (gboolean) pcci->p1;
- gint interval = (gint) pcci->p2;
+ switch (pcci->mess)
+ {
+ case CcRqDOMESSAGE: /* idleTimerOn, sleeptime; no result. */
+ {
+ gboolean gIdleTimerOn = (gboolean) pcci->p1;
+ gint interval = (gint) pcci->p2;
/*printf("CcRqDOMESSAGE\n");*/
- if (gIdleTimerOn)
- {
- GSource *source = g_timeout_source_new(interval);
- g_source_set_callback(source,TimerCallback,NULL,NULL);
- g_source_attach(source,NULL);
-
- gtk_main_iteration();
-
- g_source_destroy(source);
- }
- else
- {
- gtk_main_iteration();
- }
-
- MakeReturn0Cci (pcci);
- }
- break;
- default:
- {
- CrossCallProcedure action;
-
- action = FindCrossCallEntry (gCrossCallProcedureTable, pcci->mess);
+ if (gIdleTimerOn)
+ {
+ GSource *source = g_timeout_source_new(interval);
+ g_source_set_callback(source,TimerCallback,NULL,NULL);
+ g_source_attach(source,NULL);
+
+ gtk_main_iteration();
+
+ g_source_destroy(source);
+ }
+ else
+ {
+ gtk_main_iteration();
+ }
+
+ MakeReturn0Cci (pcci);
+ }
+ break;
+ default:
+ {
+ CrossCallProcedure action;
+
+ action = FindCrossCallEntry (gCrossCallProcedureTable, pcci->mess);
/*printf("Handle Request for action logged for: %d\n", pcci->mess);*/
- if (action == NULL)
- { /* Cross call request code not installed. */
- /*printf("\'HandleCleanRequest\' got uninstalled CcRq request code from Haskell: %d\n", pcci->mess);*/
- exit(1);
- }
- else
- { /* Cross call request code found. Apply it to pcci. */
+ if (action == NULL)
+ { /* Cross call request code not installed. */
+ /*printf("\'HandleCleanRequest\' got uninstalled CcRq request code from Haskell: %d\n", pcci->mess);*/
+ exit(1);
+ }
+ else
+ { /* Cross call request code found. Apply it to pcci. */
/*printf("Action Requested: %d\n", pcci->mess);*/
- action (pcci);
- }
- }
- }
- KickCleanThread (pcci);
+ action (pcci);
+ }
+ }
+ }
+ KickCleanThread (pcci);
} /* HandleCleanRequest */
void InitGTK()
{
- static gboolean gInitiated = FALSE;
+ static gboolean gInitiated = FALSE;
/*printf("InitGTK\n"); */
- if (!gInitiated)
- {
- gtk_set_locale();
- gtk_init(&global_argc,&global_argv);
- gInitiated = TRUE;
- };
+ if (!gInitiated)
+ {
+ gtk_set_locale();
+ gtk_init(&global_argc,&global_argv);
+ gInitiated = TRUE;
+ };
} /* InitGTK */
static gpointer OsThreadFunction (gpointer param);
OS WinStartOsThread(OS os)
{
- pthread_attr_t attr;
+ pthread_attr_t attr;
/* rprintf ("WinStartOSThread\n"); */
- InitGTK();
+ InitGTK();
- /* The cross call procedure table is set to the empty table. */
- gCrossCallProcedureTable = EmptyCrossCallProcedureTable ();
+ /* The cross call procedure table is set to the empty table. */
+ gCrossCallProcedureTable = EmptyCrossCallProcedureTable ();
/* rprintf ("Created CC Table\n"); */
- pthread_mutex_init(&gCleanMutex,NULL);
- pthread_mutex_lock(&gCleanMutex);
- pthread_mutex_init(&gOSMutex,NULL);
- pthread_mutex_lock(&gOSMutex);
- gOSThreadIsRunning = TRUE;
+ pthread_mutex_init(&gCleanMutex,NULL);
+ pthread_mutex_lock(&gCleanMutex);
+ pthread_mutex_init(&gOSMutex,NULL);
+ pthread_mutex_lock(&gOSMutex);
+ gOSThreadIsRunning = TRUE;
/* rprintf ("OS is running.\n"); */
- pthread_attr_init(&attr);
- pthread_create(&gOSThread,&attr,OsThreadFunction,NULL);
- pthread_attr_destroy(&attr);
+ pthread_attr_init(&attr);
+ pthread_create(&gOSThread,&attr,OsThreadFunction,NULL);
+ pthread_attr_destroy(&attr);
/* rprintf ("Exiting initializer.\n"); */
return os;
@@ -278,84 +278,84 @@ OS WinStartOsThread(OS os) OS WinKillOsThread (OS os)
{
/* printf("WinKillOsThread\n"); */
- if (gOSThread != FALSE)
- {
- gOSThreadIsRunning = FALSE;
- gOSThread = FALSE;
+ if (gOSThread != FALSE)
+ {
+ gOSThreadIsRunning = FALSE;
+ gOSThread = FALSE;
- DeleteCursors();
+ DeleteCursors();
- if (gCrossCallProcedureTable)
- FreeCrossCallProcedureTable (gCrossCallProcedureTable);
- }
+ if (gCrossCallProcedureTable)
+ FreeCrossCallProcedureTable (gCrossCallProcedureTable);
+ }
return os;
} /*WinKillOsThread*/
#define PRINTCROSSCALLS
void WinKickOsThread (int64_t imess,
- int64_t ip1, int64_t ip2, int64_t ip3,
- int64_t ip4, int64_t ip5, int64_t ip6,
+ int64_t ip1, int64_t ip2, int64_t ip3,
+ int64_t ip4, int64_t ip5, int64_t ip6,
OS ios,
- int64_t *omess,
- int64_t *op1, int64_t *op2, int64_t *op3,
- int64_t *op4, int64_t *op5, int64_t *op6,
+ int64_t *omess,
+ int64_t *op1, int64_t *op2, int64_t *op3,
+ int64_t *op4, int64_t *op5, int64_t *op6,
OS *oos
- )
+ )
{
- gCci.mess = imess;
- gCci.p1 = ip1;
- gCci.p2 = ip2;
- gCci.p3 = ip3;
- gCci.p4 = ip4;
- gCci.p5 = ip5;
- gCci.p6 = ip6;
+ gCci.mess = imess;
+ gCci.p1 = ip1;
+ gCci.p2 = ip2;
+ gCci.p3 = ip3;
+ gCci.p4 = ip4;
+ gCci.p5 = ip5;
+ gCci.p6 = ip6;
#ifdef PRINTCROSSCALLS
- rprintf("WinKickOsThread (");
- printCCI (&gCci);
- printf(" - data: %p, %p, %p, %p, %p, %p, %p\n",
- gCci.p1, gCci.p2, gCci.p3, gCci.p4,
- gCci.p5, gCci.p6, ios);
- rprintf(")\n");
+ rprintf("WinKickOsThread (");
+ printCCI (&gCci);
+ printf(" - data: %p, %p, %p, %p, %p, %p, %p\n",
+ gCci.p1, gCci.p2, gCci.p3, gCci.p4,
+ gCci.p5, gCci.p6, ios);
+ rprintf(")\n");
#endif
- if (gOSThread != FALSE)
- {
+ if (gOSThread != FALSE)
+ {
#ifdef PRINTCROSSCALLS
rprintf("Unlocking Clean mutex.\n");
#endif
- pthread_mutex_unlock(&gCleanMutex);
+ pthread_mutex_unlock(&gCleanMutex);
#ifdef PRINTCROSSCALLS
rprintf("Locking OS mutex.\n");
#endif
- pthread_mutex_lock(&gOSMutex);
+ pthread_mutex_lock(&gOSMutex);
#ifdef PRINTCROSSCALLS
rprintf("OS mutex locked.\n");
#endif
- *omess = gCci.mess;
- *op1 = gCci.p1;
- *op2 = gCci.p2;
- *op3 = gCci.p3;
- *op4 = gCci.p4;
- *op5 = gCci.p5;
- *op6 = gCci.p6;
+ *omess = gCci.mess;
+ *op1 = gCci.p1;
+ *op2 = gCci.p2;
+ *op3 = gCci.p3;
+ *op4 = gCci.p4;
+ *op5 = gCci.p5;
+ *op6 = gCci.p6;
*oos = ios;
printf("Data: %p, %p, %p, %p, %p, %p, %p\n",
gCci.p1, gCci.p2, gCci.p3, gCci.p4,
gCci.p5, gCci.p6, ios);
- }
- else
- {
- *omess = CcWASQUIT;
- *op1 = 0;
- *op2 = 0;
- *op3 = 0;
- *op4 = 0;
- *op5 = 0;
- *op6 = 0;
+ }
+ else
+ {
+ *omess = CcWASQUIT;
+ *op1 = 0;
+ *op2 = 0;
+ *op3 = 0;
+ *op4 = 0;
+ *op5 = 0;
+ *op6 = 0;
*oos = ios;
- }
+ }
} /* WinKickOsThread */
@@ -370,197 +370,197 @@ void KickCleanThread (CrossCallInfo * pcci) {
/* rprintf("KickCleanThread\n"); */
#ifdef PRINTCROSSCALLS
- if (ossp == -1)
- {
- for (ossp = 0; ossp < 10; ossp++)
- {
- osstack[ossp].mess = -1;
- }
- ossp = 1;
- osstack[ossp].mess = -2;
- }
-
- if (clsp == -1)
- {
- for (clsp = 0; clsp < 10; clsp++)
- {
- clstack[clsp].mess = -1;
- }
- clsp = 1;
- clstack[clsp].mess = -2;
- }
+ if (ossp == -1)
+ {
+ for (ossp = 0; ossp < 10; ossp++)
+ {
+ osstack[ossp].mess = -1;
+ }
+ ossp = 1;
+ osstack[ossp].mess = -2;
+ }
+
+ if (clsp == -1)
+ {
+ for (clsp = 0; clsp < 10; clsp++)
+ {
+ clstack[clsp].mess = -1;
+ }
+ clsp = 1;
+ clstack[clsp].mess = -2;
+ }
#endif
- if (pcci != &gCci)
+ if (pcci != &gCci)
{
- gCci = *pcci;
+ gCci = *pcci;
}
#ifdef PRINTCROSSCALLS
- rprintf ("KCT: started\n");
- if (gCci.mess < 20)
- {
- rprintf (" -- %d --> OS returning <", clsp + ossp - 2);
- printCCI (&gCci);
- rprintf ("> from <");
- printCCI (&(clstack[clsp]));
- rprintf (">\n");
- clsp--;
- }
- else
- {
- ossp++;
- osstack[ossp] = gCci;
- rprintf (" -- %d --> OS calling with <", clsp + ossp - 2);
- printCCI (&gCci);
- rprintf (">\n");
- }
-
- rprintf ("KCT: setting event\n");
+ rprintf ("KCT: started\n");
+ if (gCci.mess < 20)
+ {
+ rprintf (" -- %d --> OS returning <", clsp + ossp - 2);
+ printCCI (&gCci);
+ rprintf ("> from <");
+ printCCI (&(clstack[clsp]));
+ rprintf (">\n");
+ clsp--;
+ }
+ else
+ {
+ ossp++;
+ osstack[ossp] = gCci;
+ rprintf (" -- %d --> OS calling with <", clsp + ossp - 2);
+ printCCI (&gCci);
+ rprintf (">\n");
+ }
+
+ rprintf ("KCT: setting event\n");
#endif
- pthread_mutex_unlock(&gOSMutex);
+ pthread_mutex_unlock(&gOSMutex);
#ifdef PRINTCROSSCALLS
- rprintf ("KCT: starting wait\n");
+ rprintf ("KCT: starting wait\n");
#endif
- pthread_mutex_lock(&gCleanMutex);
+ pthread_mutex_lock(&gCleanMutex);
#ifdef PRINTCROSSCALLS
- rprintf ("KCT: wait done.\n");
+ rprintf ("KCT: wait done.\n");
#endif
- if (pcci != &gCci)
- *pcci = gCci;
+ if (pcci != &gCci)
+ *pcci = gCci;
#ifdef PRINTCROSSCALLS
- if (gCci.mess < 20)
- {
- rprintf (" <-- %d -- Clean returning <", clsp + ossp - 2);
- printCCI (&gCci);
- rprintf ("> from <");
- printCCI (&(osstack[ossp]));
- rprintf (">\n");
- ossp--;
- }
- else
- {
- clsp++;
- clstack[clsp] = gCci;
- rprintf (" <-- %d -- Clean calling with <", clsp + ossp - 2);
- printCCI (&gCci);
- rprintf (">\n");
- }
+ if (gCci.mess < 20)
+ {
+ rprintf (" <-- %d -- Clean returning <", clsp + ossp - 2);
+ printCCI (&gCci);
+ rprintf ("> from <");
+ printCCI (&(osstack[ossp]));
+ rprintf (">\n");
+ ossp--;
+ }
+ else
+ {
+ clsp++;
+ clstack[clsp] = gCci;
+ rprintf (" <-- %d -- Clean calling with <", clsp + ossp - 2);
+ printCCI (&gCci);
+ rprintf (">\n");
+ }
#endif
} /* KickCleanThread */
void SendMessageToClean (int64_t mess, int64_t p1, int64_t p2, int64_t p3, int64_t p4, int64_t p5, int64_t p6)
{
/* printf("SendMessageToClean -- Message: %d\n", mess); */
- gCci.mess = mess;
- gCci.p1 = p1;
- gCci.p2 = p2;
- gCci.p3 = p3;
- gCci.p4 = p4;
- gCci.p5 = p5;
- gCci.p6 = p6;
-
- KickCleanThread (&gCci);
- while (!IsReturnCci (&gCci))
- {
- HandleCleanRequest (&gCci);
- }
+ gCci.mess = mess;
+ gCci.p1 = p1;
+ gCci.p2 = p2;
+ gCci.p3 = p3;
+ gCci.p4 = p4;
+ gCci.p5 = p5;
+ gCci.p6 = p6;
+
+ KickCleanThread (&gCci);
+ while (!IsReturnCci (&gCci))
+ {
+ HandleCleanRequest (&gCci);
+ }
}
CrossCallInfo *MakeReturn0Cci (CrossCallInfo * pcci)
{
- pcci->mess = CcRETURN0;
- return pcci;
+ pcci->mess = CcRETURN0;
+ return pcci;
}
CrossCallInfo *MakeReturn1Cci (CrossCallInfo * pcci, int64_t v1)
{
- pcci->mess = CcRETURN1;
- pcci->p1 = v1;
- return pcci;
+ pcci->mess = CcRETURN1;
+ pcci->p1 = v1;
+ return pcci;
}
CrossCallInfo *MakeReturn2Cci (CrossCallInfo * pcci, int64_t v1, int64_t v2)
{
- pcci->mess = CcRETURN2;
- pcci->p1 = v1;
- pcci->p2 = v2;
- return pcci;
+ pcci->mess = CcRETURN2;
+ pcci->p1 = v1;
+ pcci->p2 = v2;
+ return pcci;
}
CrossCallInfo *MakeReturn3Cci (CrossCallInfo * pcci, int64_t v1, int64_t v2, int64_t v3)
{
- pcci->mess = CcRETURN3;
- pcci->p1 = v1;
- pcci->p2 = v2;
- pcci->p3 = v3;
- return pcci;
+ pcci->mess = CcRETURN3;
+ pcci->p1 = v1;
+ pcci->p2 = v2;
+ pcci->p3 = v3;
+ return pcci;
}
CrossCallInfo *MakeReturn4Cci (CrossCallInfo * pcci, int64_t v1, int64_t v2, int64_t v3, int64_t v4)
{
- pcci->mess = CcRETURN4;
- pcci->p1 = v1;
- pcci->p2 = v2;
- pcci->p3 = v3;
- pcci->p4 = v4;
- return pcci;
+ pcci->mess = CcRETURN4;
+ pcci->p1 = v1;
+ pcci->p2 = v2;
+ pcci->p3 = v3;
+ pcci->p4 = v4;
+ return pcci;
}
CrossCallInfo *MakeReturn5Cci (CrossCallInfo * pcci, int64_t v1, int64_t v2, int64_t v3, int64_t v4, int64_t v5)
{
- pcci->mess = CcRETURN5;
- pcci->p1 = v1;
- pcci->p2 = v2;
- pcci->p3 = v3;
- pcci->p4 = v4;
- pcci->p5 = v5;
- return pcci;
+ pcci->mess = CcRETURN5;
+ pcci->p1 = v1;
+ pcci->p2 = v2;
+ pcci->p3 = v3;
+ pcci->p4 = v4;
+ pcci->p5 = v5;
+ return pcci;
}
CrossCallInfo *MakeReturn6Cci (CrossCallInfo * pcci, int64_t v1, int64_t v2, int64_t v3, int64_t v4, int64_t v5, int64_t v6)
{
- pcci->mess = CcRETURN6;
- pcci->p1 = v1;
- pcci->p2 = v2;
- pcci->p3 = v3;
- pcci->p4 = v4;
- pcci->p5 = v5;
- pcci->p6 = v6;
- return pcci;
+ pcci->mess = CcRETURN6;
+ pcci->p1 = v1;
+ pcci->p2 = v2;
+ pcci->p3 = v3;
+ pcci->p4 = v4;
+ pcci->p5 = v5;
+ pcci->p6 = v6;
+ return pcci;
}
gboolean IsReturnCci (CrossCallInfo * pcci)
{
/* printf("Checking message %d: ", pcci->mess);*/
- if (pcci->mess >= CcRETURNmin && pcci->mess <= CcRETURNmax)
+ if (pcci->mess >= CcRETURNmin && pcci->mess <= CcRETURNmax)
{
- return TRUE;
+ return TRUE;
}
- return FALSE;
+ return FALSE;
}
static gpointer OsThreadFunction (gpointer param)
{
/* printf("OsThreadFunction\n"); */
- gTooltip = gtk_tooltips_new();
+ gTooltip = gtk_tooltips_new();
- pthread_mutex_lock(&gCleanMutex);
+ pthread_mutex_lock(&gCleanMutex);
- while (gOSThreadIsRunning)
- {
- HandleCleanRequest (&gCci);
- }
+ while (gOSThreadIsRunning)
+ {
+ HandleCleanRequest (&gCci);
+ }
- pthread_mutex_unlock(&gCleanMutex);
+ pthread_mutex_unlock(&gCleanMutex);
- pthread_mutex_destroy(&gOSMutex);
- pthread_mutex_destroy(&gCleanMutex);
+ pthread_mutex_destroy(&gOSMutex);
+ pthread_mutex_destroy(&gCleanMutex);
- return NULL;
+ return NULL;
} /* OsThreadFunction */
void WinInitOs (Bool* ok, OS* os)
@@ -643,16 +643,16 @@ void WinLaunchApp2 (CLEAN_STRING commandline, CLEAN_STRING pathname, pi = fork();
if (pi == 0)
{
- /* I'm a child -- launch the desired program. */
- execlp(exname, cl);
+ /* I'm a child -- launch the desired program. */
+ execlp(exname, cl);
} else if (pi == -1) {
- /* Error condition */
- error = errno;
+ /* Error condition */
+ error = errno;
rprintf ("WLA: failure %d\n", error);
- fsuccess = FALSE;
+ fsuccess = FALSE;
} else {
rprintf ("WLA: success\n");
- fsuccess = TRUE;
+ fsuccess = TRUE;
}
rprintf ("WLA: step 5: returning\n");
diff --git a/Linux_C_12/cCrossCall_121.h b/Linux_C_12/cCrossCall_121.h index fbd6f93..759a4ce 100644 --- a/Linux_C_12/cCrossCall_121.h +++ b/Linux_C_12/cCrossCall_121.h @@ -25,11 +25,11 @@ extern HWND ghTCPWindow; /* The handle to the TCP HWND of the OS thread. /* Menu(item)IDs are not allowed to exceed OSMenuIDEnd.
- This is because window ids start at (OSMenuIDEnd+5), and need to be distinct from menu ids
- in case of MDI processes.
- The global gMenuItemID (initially 0) is incremented by NextMenuItemID each time a new
- menu(item)ID is required.
- This implementation does not reuse freed ids and is therefore not adequate!!
+ This is because window ids start at (OSMenuIDEnd+5), and need to be distinct from menu ids
+ in case of MDI processes.
+ The global gMenuItemID (initially 0) is incremented by NextMenuItemID each time a new
+ menu(item)ID is required.
+ This implementation does not reuse freed ids and is therefore not adequate!!
*/
#define OSMenuIDEnd 10000
extern UINT NextMenuItemID (void);
@@ -41,7 +41,7 @@ extern UINT NextMenuItemID (void); extern int GetModifiers (void);
/* Translate virtual key codes to the codes shared with Clean.
- If the keycode could not be translated, zero is returned.
+ If the keycode could not be translated, zero is returned.
*/
extern int CheckVirtualKeyCode (int keycode);
@@ -50,7 +50,7 @@ extern void HandleCleanRequest( CrossCallInfo *pcci ); extern OS WinStartOsThread (OS);
extern OS WinKillOsThread (OS);
extern void WinKickOsThread (int64_t,int64_t,int64_t,int64_t,int64_t,int64_t,int64_t,OS,
- int64_t*,int64_t*,int64_t*,int64_t*,int64_t*,int64_t*,int64_t*,OS*);
+ int64_t*,int64_t*,int64_t*,int64_t*,int64_t*,int64_t*,int64_t*,OS*);
extern void KickCleanThread( CrossCallInfo *pcci );
extern void SendMessageToClean( int64_t mess, int64_t p1,int64_t p2,int64_t p3, int64_t p4,int64_t p5,int64_t p6 );
diff --git a/Linux_C_12/cCrossCallxDI_121.c b/Linux_C_12/cCrossCallxDI_121.c index 9fcd617..aa509f7 100644 --- a/Linux_C_12/cCrossCallxDI_121.c +++ b/Linux_C_12/cCrossCallxDI_121.c @@ -1,13 +1,13 @@ /********************************************************************************************
- 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:
- This module contains the cross call implementations required for
- NDI, SDI, and MDI document interfaces.
+ About this module:
+ This module contains the cross call implementations required for
+ NDI, SDI, and MDI document interfaces.
********************************************************************************************/
#include "util_121.h"
#include <gdk/gdkkeysyms.h>
@@ -25,28 +25,28 @@ gint gCurChar; /* GetSDIClientWindow finds the first SDI client window of the argument hwnd.
- This procedure assumes that hwnd is the handle of a SDI frame window.
- If no SDI client window could be found then GetSDIClientWindow returns NULL.
+ This procedure assumes that hwnd is the handle of a SDI frame window.
+ If no SDI client window could be found then GetSDIClientWindow returns NULL.
*/
/*
static HWND GetSDIClientWindow (HWND hwndFrame)
{
- HWND client;
- char *clientclassname;
- int classnamelength;
-
- client = GetWindow (hwndFrame,GW_CHILD);
- classnamelength = strlen (SDIWindowClassName) + 1;
- clientclassname = rmalloc (classnamelength);
- GetClassName (client, clientclassname, classnamelength);
-
- while (client != NULL && strcmp(clientclassname, SDIWindowClassName) != 0)
- {
- client = GetWindow (client,GW_HWNDNEXT);
- GetClassName (client,clientclassname,classnamelength);
- }
- rfree (clientclassname);
- return client;
+ HWND client;
+ char *clientclassname;
+ int classnamelength;
+
+ client = GetWindow (hwndFrame,GW_CHILD);
+ classnamelength = strlen (SDIWindowClassName) + 1;
+ clientclassname = rmalloc (classnamelength);
+ GetClassName (client, clientclassname, classnamelength);
+
+ while (client != NULL && strcmp(clientclassname, SDIWindowClassName) != 0)
+ {
+ client = GetWindow (client,GW_HWNDNEXT);
+ GetClassName (client,clientclassname,classnamelength);
+ }
+ rfree (clientclassname);
+ return client;
}
*/
@@ -55,72 +55,72 @@ static HWND GetSDIClientWindow (HWND hwndFrame) void SendKeyDownToClean (GtkWidget *parent, GtkWidget *child, gint c)
{
printf("SendKeyDownToClean\n");
- SendMessage5ToClean (CcWmKEYBOARD, parent, child, c, KEYDOWN,
+ SendMessage5ToClean (CcWmKEYBOARD, parent, child, c, KEYDOWN,
GetModifiers());
}
void SendKeyStillDownToClean (GtkWidget *parent, GtkWidget *child, gint c)
{
printf("SendKeyStillDownToClean\n");
- SendMessage5ToClean (CcWmKEYBOARD, parent, child, c, KEYREPEAT,
+ SendMessage5ToClean (CcWmKEYBOARD, parent, child, c, KEYREPEAT,
GetModifiers());
}
void SendKeyUpToClean (GtkWidget *parent, GtkWidget *child, gint c)
{
printf("SendKeyUpToClean\n");
- SendMessage5ToClean (CcWmKEYBOARD, parent, child, c, KEYUP, GetModifiers());
+ SendMessage5ToClean (CcWmKEYBOARD, parent, child, c, KEYUP, GetModifiers());
}
static void prcs(GtkWidget *widget, gpointer data)
{
printf("prcs\n");
- if (GTK_IS_SCROLLED_WINDOW(widget))
- {
- *((GtkWidget **) data) = widget;
- }
+ if (GTK_IS_SCROLLED_WINDOW(widget))
+ {
+ *((GtkWidget **) data) = widget;
+ }
}
static GtkWidget *get_client(GtkWidget *widget)
{
- GtkWidget *box;
+ GtkWidget *box;
printf("get_client\n");
box = gtk_bin_get_child(GTK_BIN(widget));
- if (box)
- {
- GtkWidget *client = NULL;
- gtk_container_foreach(GTK_CONTAINER(box), prcs, (gpointer) &client);
- return client;
- }
-
- return NULL;
+ if (box)
+ {
+ GtkWidget *client = NULL;
+ gtk_container_foreach(GTK_CONTAINER(box), prcs, (gpointer) &client);
+ return client;
+ }
+
+ return NULL;
}
static void frame_focus_in_handler(GtkWidget *widget, GdkEventFocus *event,
gpointer user_data)
{
printf("frame_focus_in_handler\n");
- SendMessage1ToClean (CcWmACTIVATE, get_client(widget));
- GTK_WIDGET_GET_CLASS(widget)->focus_in_event(widget, event);
- gActiveTopLevelWindow = widget;
+ SendMessage1ToClean (CcWmACTIVATE, get_client(widget));
+ GTK_WIDGET_GET_CLASS(widget)->focus_in_event(widget, event);
+ gActiveTopLevelWindow = widget;
}
static void frame_focus_out_handler(GtkWidget *widget, GdkEventFocus *event,
gpointer user_data)
{
- GtkWidget *client;
+ GtkWidget *client;
printf("frame_focus_out_handler\n");
- client = get_client(widget);
- if (gInKey)
+ client = get_client(widget);
+ if (gInKey)
{
- SendKeyUpToClean (client, client, gCurChar);
+ SendKeyUpToClean (client, client, gCurChar);
}
- SendMessage1ToClean (CcWmDEACTIVATE, client);
- GTK_WIDGET_GET_CLASS(widget)->focus_out_event(widget, event);
- gActiveTopLevelWindow = NULL;
+ SendMessage1ToClean (CcWmDEACTIVATE, client);
+ GTK_WIDGET_GET_CLASS(widget)->focus_out_event(widget, event);
+ gActiveTopLevelWindow = NULL;
}
@@ -128,173 +128,173 @@ static gboolean frame_delete_handler(GtkWidget *widget, GdkEvent *event, gpointer user_data)
{
printf("frame_delete_handler\n");
- if (gActiveTopLevelWindow == widget)
+ if (gActiveTopLevelWindow == widget)
{
- gActiveTopLevelWindow = NULL;
+ gActiveTopLevelWindow = NULL;
}
- if (gtk_object_get_data(GTK_OBJECT (widget), "gtk-drag-dest") != NULL)
+ if (gtk_object_get_data(GTK_OBJECT (widget), "gtk-drag-dest") != NULL)
{
- gtk_drag_dest_unset(widget);
+ gtk_drag_dest_unset(widget);
}
- SendMessage1ToClean (CcWmPROCESSCLOSE, widget);
- return gtk_true();
+ SendMessage1ToClean (CcWmPROCESSCLOSE, widget);
+ return gtk_true();
}
static void frame_drag_data_handler
- (GtkWidget *widget,
- GdkDragContext *context,
- gint x,
- gint y,
- GtkSelectionData *data,
- guint info,
- guint time)
+ (GtkWidget *widget,
+ GdkDragContext *context,
+ gint x,
+ gint y,
+ GtkSelectionData *data,
+ guint info,
+ guint time)
{
printf("frame_drag_data_handler\n");
- if ((data->length >= 0) && (data->format == 8))
+ if ((data->length >= 0) && (data->format == 8))
{
- char *filenames = rmalloc(data->length);
- if (filenames)
- {
- guchar *s = data->data;
- guchar *e = s + data->length - 2;
- gchar *d = filenames;
-
- while (s < e)
- {
- if (*s != '\r') *(d++) = *s;
- s++;
- }
- *d = 0;
-
- gtk_drag_finish (context, TRUE, FALSE, time);
- SendMessage2ToClean (CcWmPROCESSDROPFILES, (int64_t) widget, (int64_t) filenames);
- }
+ char *filenames = rmalloc(data->length);
+ if (filenames)
+ {
+ guchar *s = data->data;
+ guchar *e = s + data->length - 2;
+ gchar *d = filenames;
+
+ while (s < e)
+ {
+ if (*s != '\r') *(d++) = *s;
+ s++;
+ }
+ *d = 0;
+
+ gtk_drag_finish (context, TRUE, FALSE, time);
+ SendMessage2ToClean (CcWmPROCESSDROPFILES, (int64_t) widget, (int64_t) filenames);
+ }
}
- else
+ else
{
- gtk_drag_finish (context, FALSE, FALSE, time);
+ gtk_drag_finish (context, FALSE, FALSE, time);
}
}
static gboolean frame_key_press_handler(GtkWidget *widget, GdkEventKey *event,
gpointer user_data)
{
- GtkWidget *client;
+ GtkWidget *client;
gint c;
printf("frame_key_press_handler\n");
- client = get_client(widget);
+ client = get_client(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 (client, client, gCurChar);
+ SendKeyStillDownToClean (client, client, gCurChar);
}
else
- {
- SendKeyUpToClean (client, client, gCurChar);
- gCurChar = c;
- SendKeyDownToClean (client, client, gCurChar);
- }
- }
- else
- {
- gCurChar = c;
- SendKeyDownToClean (client, client, gCurChar);
- gInKey = TRUE;
- }
-
- return gtk_true();
+ {
+ SendKeyUpToClean (client, client, gCurChar);
+ gCurChar = c;
+ SendKeyDownToClean (client, client, gCurChar);
+ }
+ }
+ else
+ {
+ gCurChar = c;
+ SendKeyDownToClean (client, client, gCurChar);
+ gInKey = TRUE;
+ }
+
+ return gtk_true();
}
static gboolean frame_key_release_handler(GtkWidget *widget, GdkEventKey *event,
gpointer user_data)
{
- GtkWidget *client;
+ GtkWidget *client;
printf("frame_key_release_handler\n");
- client = get_client(widget);
- if (event->keyval == GDK_Tab)
- return gtk_false();
+ client = get_client(widget);
+ if (event->keyval == GDK_Tab)
+ 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 (client, client, gCurChar);
- gInKey = FALSE;
- gCurChar = 0;
- }
+ if (gInKey)
+ {
+ SendKeyUpToClean (client, client, gCurChar);
+ gInKey = FALSE;
+ gCurChar = 0;
+ }
- return gtk_true();
+ return gtk_true();
}
/* Create a SDI frame window. */
void EvalCcRqCREATESDIFRAMEWINDOW (CrossCallInfo *pcci) /* accept file open; frame ptr, menubar results. */
{
- GtkWidget *window, *menuBar, *box;
+ GtkWidget *window, *menuBar, *box;
printf("EvalCcRqCREATESDIFRAMEWINDOW\n");
- /* Create the menubar. */
- menuBar = gtk_menu_bar_new();
-
- /* Create the window. */
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- gtk_signal_connect (GTK_OBJECT (window), "focus-in-event",
- GTK_SIGNAL_FUNC(frame_focus_in_handler),
- NULL);
- gtk_signal_connect (GTK_OBJECT (window), "focus-out-event",
- GTK_SIGNAL_FUNC(frame_focus_out_handler),
- NULL);
- gtk_signal_connect (GTK_OBJECT (window), "delete-event",
- GTK_SIGNAL_FUNC(frame_delete_handler),
- NULL);
- gtk_signal_connect (GTK_OBJECT(window), "key-press-event",
- GTK_SIGNAL_FUNC(frame_key_press_handler),
- NULL);
- gtk_signal_connect (GTK_OBJECT(window), "key-release-event",
- GTK_SIGNAL_FUNC(frame_key_release_handler),
- NULL);
-
- if ((gboolean) pcci->p1) /* respond to file open events. */
- {
- static GtkTargetEntry target_table = { "text/uri-list", 0, 0 };
-
- gtk_drag_dest_set (window,
- GTK_DEST_DEFAULT_ALL,
- &target_table, 1, /* no rootwin */
- GDK_ACTION_COPY | GDK_ACTION_MOVE);
-
- gtk_signal_connect(GTK_OBJECT(window), "drag_data_received",
- GTK_SIGNAL_FUNC(frame_drag_data_handler), NULL);
- }
-
- gtk_window_add_accel_group (GTK_WINDOW (window), gtk_accel_group_new());
-
- box = gtk_vbox_new(FALSE, 0);
- gtk_container_add(GTK_CONTAINER(window), box);
- gtk_box_pack_start(GTK_BOX(box), menuBar, FALSE, FALSE, 0);
+ /* Create the menubar. */
+ menuBar = gtk_menu_bar_new();
+
+ /* Create the window. */
+ window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gtk_signal_connect (GTK_OBJECT (window), "focus-in-event",
+ GTK_SIGNAL_FUNC(frame_focus_in_handler),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (window), "focus-out-event",
+ GTK_SIGNAL_FUNC(frame_focus_out_handler),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (window), "delete-event",
+ GTK_SIGNAL_FUNC(frame_delete_handler),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT(window), "key-press-event",
+ GTK_SIGNAL_FUNC(frame_key_press_handler),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT(window), "key-release-event",
+ GTK_SIGNAL_FUNC(frame_key_release_handler),
+ NULL);
+
+ if ((gboolean) pcci->p1) /* respond to file open events. */
+ {
+ static GtkTargetEntry target_table = { "text/uri-list", 0, 0 };
+
+ gtk_drag_dest_set (window,
+ GTK_DEST_DEFAULT_ALL,
+ &target_table, 1, /* no rootwin */
+ GDK_ACTION_COPY | GDK_ACTION_MOVE);
+
+ gtk_signal_connect(GTK_OBJECT(window), "drag_data_received",
+ GTK_SIGNAL_FUNC(frame_drag_data_handler), NULL);
+ }
+
+ gtk_window_add_accel_group (GTK_WINDOW (window), gtk_accel_group_new());
+
+ box = gtk_vbox_new(FALSE, 0);
+ gtk_container_add(GTK_CONTAINER(window), box);
+ gtk_box_pack_start(GTK_BOX(box), menuBar, FALSE, FALSE, 0);
gtk_widget_show(menuBar);
- MakeReturn2Cci (pcci, (int64_t) window, (int64_t) menuBar);
+ MakeReturn2Cci (pcci, (int64_t) window, (int64_t) menuBar);
}
static void frame_close_page_handler(GtkWidget *client)
@@ -303,48 +303,48 @@ static void frame_close_page_handler(GtkWidget *client) printf("frame_close_page_handler\n");
window = gtk_notebook_get_nth_page(GTK_NOTEBOOK(client), gtk_notebook_get_current_page(GTK_NOTEBOOK(client)));
- SendMessage1ToClean(CcWmCLOSE, window);
+ SendMessage1ToClean(CcWmCLOSE, window);
}
static void frame_notebook_top_handler(GtkWidget *client)
{
printf("frame_notebook_top_handler\n");
- gtk_notebook_set_tab_pos(GTK_NOTEBOOK(client), GTK_POS_TOP);
+ gtk_notebook_set_tab_pos(GTK_NOTEBOOK(client), GTK_POS_TOP);
}
static void frame_notebook_bottom_handler(GtkWidget *client)
{
printf("frame_notebook_bottom_handler\n");
- gtk_notebook_set_tab_pos(GTK_NOTEBOOK(client), GTK_POS_BOTTOM);
+ gtk_notebook_set_tab_pos(GTK_NOTEBOOK(client), GTK_POS_BOTTOM);
}
static void frame_notebook_left_handler(GtkWidget *client)
{
printf("frame_notebook_left_handler\n");
- gtk_notebook_set_tab_pos(GTK_NOTEBOOK(client), GTK_POS_LEFT);
+ gtk_notebook_set_tab_pos(GTK_NOTEBOOK(client), GTK_POS_LEFT);
}
static void frame_notebook_right_handler(GtkWidget *client)
{
printf("frame_notebook_right_handler\n");
- gtk_notebook_set_tab_pos(GTK_NOTEBOOK(client), GTK_POS_RIGHT);
+ gtk_notebook_set_tab_pos(GTK_NOTEBOOK(client), GTK_POS_RIGHT);
}
static void frame_switch_page_handler(GtkNotebook *notebook,
GtkNotebookPage *page, gint page_num, gpointer user_data)
{
/* send deactivate message for old */
- gint old_page_num;
+ gint old_page_num;
printf("frame_switch_page_handler\n");
- old_page_num = g_list_index(notebook->children, notebook->cur_page);
+ old_page_num = g_list_index(notebook->children, notebook->cur_page);
- SendMessage1ToClean (CcWmDEACTIVATE, gtk_notebook_get_nth_page(notebook,
+ SendMessage1ToClean (CcWmDEACTIVATE, gtk_notebook_get_nth_page(notebook,
old_page_num));
- /* send activate message for new */
- SendMessage1ToClean (CcWmACTIVATE, gtk_notebook_get_nth_page(notebook,
+ /* send activate message for new */
+ SendMessage1ToClean (CcWmACTIVATE, gtk_notebook_get_nth_page(notebook,
page_num));
- gActiveTopLevelWindow = gtk_widget_get_parent(
+ gActiveTopLevelWindow = gtk_widget_get_parent(
gtk_widget_get_parent(GTK_WIDGET(notebook)));
}
@@ -352,133 +352,133 @@ static void frame_switch_page_handler(GtkNotebook *notebook, /* Create MDI frame window. */
void EvalCcRqCREATEMDIFRAMEWINDOW (CrossCallInfo *pcci) /* show, accept file open; frame ptr, client ptr, menubar, windowmenu results. */
{
- GtkWidget *window, *client, *menuBar, *box;
- GtkWidget *notebook_menu, *menu_item, *pages_menu;
- GtkAccelGroup *accel_group;
- GSList *group;
+ GtkWidget *window, *client, *menuBar, *box;
+ GtkWidget *notebook_menu, *menu_item, *pages_menu;
+ GtkAccelGroup *accel_group;
+ GSList *group;
printf("EvalCcRqCREATEMDIFRAMEWINDOW\n");
- /* Create the window. */
-
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- gtk_signal_connect (GTK_OBJECT(window), "delete-event",
- GTK_SIGNAL_FUNC(frame_delete_handler),
- NULL);
- gtk_signal_connect (GTK_OBJECT(window), "key-press-event",
- GTK_SIGNAL_FUNC(frame_key_press_handler),
- NULL);
- gtk_signal_connect (GTK_OBJECT(window), "key-release-event",
- GTK_SIGNAL_FUNC(frame_key_release_handler),
- NULL);
-
-
- if ((gboolean) pcci->p2) /* respond to file open events. */
- {
- static GtkTargetEntry target_table = { "text/uri-list", 0, 0 };
-
- gtk_drag_dest_set (window,
- GTK_DEST_DEFAULT_ALL,
- &target_table, 1, /* no rootwin */
- GDK_ACTION_COPY | GDK_ACTION_MOVE);
-
- gtk_signal_connect(GTK_OBJECT(window), "drag_data_received",
- GTK_SIGNAL_FUNC(frame_drag_data_handler), NULL);
- }
-
- /* Create accel_group */
- accel_group = gtk_accel_group_new();
- gtk_window_add_accel_group (GTK_WINDOW (window), accel_group);
-
- box = gtk_vbox_new(FALSE, 0);
- gtk_container_add(GTK_CONTAINER(window), box);
-
- /* Create the menubar. */
- menuBar = gtk_menu_bar_new();
- gtk_box_pack_start(GTK_BOX(box), menuBar, FALSE, FALSE, 0);
-
- /* Create client(notebook) */
- client = gtk_notebook_new();
- gtk_notebook_set_scrollable(GTK_NOTEBOOK(client), gtk_true());
- gtk_signal_connect (GTK_OBJECT(client), "switch-page",
- GTK_SIGNAL_FUNC(frame_switch_page_handler),
- NULL);
- gtk_box_pack_end(GTK_BOX(box), client, TRUE, TRUE, 0);
-
- if ((gboolean) pcci->p1)
- gtk_window_maximize(GTK_WINDOW(window));
- gtk_widget_show_all(window);
-
- /* Create "Pages" menu */
- pages_menu = gtk_menu_new();
- gtk_menu_set_accel_group(GTK_MENU(pages_menu), accel_group);
-
- menu_item = gtk_menu_item_new_with_label("Pages");
- gtk_menu_item_set_submenu(GTK_MENU_ITEM (menu_item), pages_menu);
- gtk_widget_show_all(menu_item);
-
- gtk_menu_bar_insert(GTK_MENU_BAR(menuBar), menu_item, 0);
-
- notebook_menu = gtk_menu_new();
- gtk_menu_set_accel_group(GTK_MENU(notebook_menu), accel_group);
-
- menu_item = gtk_radio_menu_item_new_with_label(NULL, "Top");
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_item), gtk_true());
- group = gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(menu_item));
- gtk_signal_connect_object (GTK_OBJECT (menu_item), "activate",
- GTK_SIGNAL_FUNC (frame_notebook_top_handler), client);
- gtk_menu_append(GTK_MENU(notebook_menu), menu_item);
-
- menu_item = gtk_radio_menu_item_new_with_label(group, "Bottom");
- group = gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(menu_item));
- gtk_signal_connect_object (GTK_OBJECT (menu_item), "activate",
- GTK_SIGNAL_FUNC (frame_notebook_bottom_handler), client);
- gtk_menu_append(GTK_MENU(notebook_menu), menu_item);
-
- menu_item = gtk_radio_menu_item_new_with_label(group, "Left");
- group = gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(menu_item));
- gtk_signal_connect_object (GTK_OBJECT (menu_item), "activate",
- GTK_SIGNAL_FUNC (frame_notebook_left_handler), client);
- gtk_menu_append(GTK_MENU(notebook_menu), menu_item);
-
- menu_item = gtk_radio_menu_item_new_with_label(group, "Right");
- group = gtk_radio_menu_item_get_group(GTK_RADIO_MENU_ITEM(menu_item));
- gtk_signal_connect_object (GTK_OBJECT (menu_item), "activate",
- GTK_SIGNAL_FUNC (frame_notebook_right_handler), client);
- gtk_menu_append(GTK_MENU(notebook_menu), menu_item);
-
- menu_item = gtk_menu_item_new_with_label("Notebook");
- gtk_menu_item_set_submenu(GTK_MENU_ITEM (menu_item), notebook_menu);
- gtk_menu_append(GTK_MENU(pages_menu), menu_item);
-
- menu_item = gtk_menu_item_new();
- gtk_menu_append(GTK_MENU(pages_menu), menu_item);
-
- menu_item = gtk_menu_item_new_with_label("Close page");
- gtk_signal_connect_object (GTK_OBJECT (menu_item), "activate",
- GTK_SIGNAL_FUNC (frame_close_page_handler), client);
- gtk_menu_append(GTK_MENU(pages_menu), menu_item);
+ /* Create the window. */
+
+ window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gtk_signal_connect (GTK_OBJECT(window), "delete-event",
+ GTK_SIGNAL_FUNC(frame_delete_handler),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT(window), "key-press-event",
+ GTK_SIGNAL_FUNC(frame_key_press_handler),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT(window), "key-release-event",
+ GTK_SIGNAL_FUNC(frame_key_release_handler),
+ NULL);
+
+
+ if ((gboolean) pcci->p2) /* respond to file open events. */
+ {
+ static GtkTargetEntry target_table = { "text/uri-list", 0, 0 };
+
+ gtk_drag_dest_set (window,
+ GTK_DEST_DEFAULT_ALL,
+ &target_table, 1, /* no rootwin */
+ GDK_ACTION_COPY | GDK_ACTION_MOVE);
+
+ gtk_signal_connect(GTK_OBJECT(window), "drag_data_received",
+ GTK_SIGNAL_FUNC(frame_drag_data_handler), NULL);
+ }
+
+ /* Create accel_group */
+ accel_group = gtk_accel_group_new();
+ gtk_window_add_accel_group (GTK_WINDOW (window), accel_group);
+
+ box = gtk_vbox_new(FALSE, 0);
+ gtk_container_add(GTK_CONTAINER(window), box);
+
+ /* Create the menubar. */
+ menuBar = gtk_menu_bar_new();
+ gtk_box_pack_start(GTK_BOX(box), menuBar, FALSE, FALSE, 0);
+
+ /* Create client(notebook) */
+ client = gtk_notebook_new();
+ gtk_notebook_set_scrollable(GTK_NOTEBOOK(client), gtk_true());
+ gtk_signal_connect (GTK_OBJECT(client), "switch-page",
+ GTK_SIGNAL_FUNC(frame_switch_page_handler),
+ NULL);
+ gtk_box_pack_end(GTK_BOX(box), client, TRUE, TRUE, 0);
+
+ if ((gboolean) pcci->p1)
+ gtk_window_maximize(GTK_WINDOW(window));
+ gtk_widget_show_all(window);
+
+ /* Create "Pages" menu */
+ pages_menu = gtk_menu_new();
+ gtk_menu_set_accel_group(GTK_MENU(pages_menu), accel_group);
+
+ menu_item = gtk_menu_item_new_with_label("Pages");
+ gtk_menu_item_set_submenu(GTK_MENU_ITEM (menu_item), pages_menu);
+ gtk_widget_show_all(menu_item);
+
+ gtk_menu_bar_insert(GTK_MENU_BAR(menuBar), menu_item, 0);
+
+ notebook_menu = gtk_menu_new();
+ gtk_menu_set_accel_group(GTK_MENU(notebook_menu), accel_group);
+
+ menu_item = gtk_radio_menu_item_new_with_label(NULL, "Top");
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_item), gtk_true());
+ group = gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(menu_item));
+ gtk_signal_connect_object (GTK_OBJECT (menu_item), "activate",
+ GTK_SIGNAL_FUNC (frame_notebook_top_handler), client);
+ gtk_menu_append(GTK_MENU(notebook_menu), menu_item);
+
+ menu_item = gtk_radio_menu_item_new_with_label(group, "Bottom");
+ group = gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(menu_item));
+ gtk_signal_connect_object (GTK_OBJECT (menu_item), "activate",
+ GTK_SIGNAL_FUNC (frame_notebook_bottom_handler), client);
+ gtk_menu_append(GTK_MENU(notebook_menu), menu_item);
+
+ menu_item = gtk_radio_menu_item_new_with_label(group, "Left");
+ group = gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(menu_item));
+ gtk_signal_connect_object (GTK_OBJECT (menu_item), "activate",
+ GTK_SIGNAL_FUNC (frame_notebook_left_handler), client);
+ gtk_menu_append(GTK_MENU(notebook_menu), menu_item);
+
+ menu_item = gtk_radio_menu_item_new_with_label(group, "Right");
+ group = gtk_radio_menu_item_get_group(GTK_RADIO_MENU_ITEM(menu_item));
+ gtk_signal_connect_object (GTK_OBJECT (menu_item), "activate",
+ GTK_SIGNAL_FUNC (frame_notebook_right_handler), client);
+ gtk_menu_append(GTK_MENU(notebook_menu), menu_item);
+
+ menu_item = gtk_menu_item_new_with_label("Notebook");
+ gtk_menu_item_set_submenu(GTK_MENU_ITEM (menu_item), notebook_menu);
+ gtk_menu_append(GTK_MENU(pages_menu), menu_item);
+
+ menu_item = gtk_menu_item_new();
+ gtk_menu_append(GTK_MENU(pages_menu), menu_item);
+
+ menu_item = gtk_menu_item_new_with_label("Close page");
+ gtk_signal_connect_object (GTK_OBJECT (menu_item), "activate",
+ GTK_SIGNAL_FUNC (frame_close_page_handler), client);
+ gtk_menu_append(GTK_MENU(pages_menu), menu_item);
gtk_widget_show(menuBar);
- gtk_widget_show_all(pages_menu);
+ gtk_widget_show_all(pages_menu);
- MakeReturn4Cci (pcci, (int64_t) window, (int64_t) client, (int64_t) menuBar, (int64_t) pages_menu);
+ MakeReturn4Cci (pcci, (int64_t) window, (int64_t) client, (int64_t) menuBar, (int64_t) pages_menu);
}
void EvalCcRqDESTROYWINDOW (CrossCallInfo *pcci)
{
printf("EvalCcRqDESTROYWINDOW\n");
- gtk_widget_destroy(GTK_WIDGET(pcci->p1));
- MakeReturn0Cci (pcci);
+ gtk_widget_destroy(GTK_WIDGET(pcci->p1));
+ MakeReturn0Cci (pcci);
}
void EvalCcRqGETWINDOWPOS (CrossCallInfo *pcci)
{
- /* hwnd; width, heigth result */
+ /* hwnd; width, heigth result */
gint left, top;
- printf("EvalCcRqGETWINDOWPOS\n");
+ printf("EvalCcRqGETWINDOWPOS\n");
gtk_window_get_position(GTK_WINDOW(pcci->p1), &left, &top);
- MakeReturn2Cci (pcci, left, top);
+ MakeReturn2Cci (pcci, left, top);
}
void EvalCcRqGETCLIENTSIZE (CrossCallInfo *pcci)
@@ -491,7 +491,7 @@ void EvalCcRqGETCLIENTSIZE (CrossCallInfo *pcci) GtkRequisition requisition;
GtkWidget *frame = GTK_WIDGET(pcci->p1);
gtk_widget_size_request(frame, &requisition);
- MakeReturn2Cci (pcci, requisition.width, requisition.height);
+ MakeReturn2Cci (pcci, requisition.width, requisition.height);
} else {
MakeReturn2Cci (pcci, 0, 0);
}
@@ -499,24 +499,24 @@ void EvalCcRqGETCLIENTSIZE (CrossCallInfo *pcci) static void toolbar_handler(GtkWidget *widget, gpointer data)
{
- GtkWidget *toolbar, *parent;
+ GtkWidget *toolbar, *parent;
printf("toolbar_handler\n");
- toolbar = gtk_widget_get_parent(widget);
- parent = gtk_widget_get_parent(gtk_widget_get_parent(toolbar));
- SendMessage4ToClean (CcWmBUTTONCLICKED, parent, toolbar, GetModifiers(), (int64_t) data);
+ toolbar = gtk_widget_get_parent(widget);
+ parent = gtk_widget_get_parent(gtk_widget_get_parent(toolbar));
+ SendMessage4ToClean (CcWmBUTTONCLICKED, parent, toolbar, GetModifiers(), (int64_t) data);
}
/* Create a toolbar in a window. */
void EvalCcRqCREATEMDITOOLBAR (CrossCallInfo *pcci)
{
- /* hwnd, width, height; toolbarptr, full toolbar height result; */
- GtkWidget *parent,*box,*toolbar;
+ /* hwnd, width, height; toolbarptr, full toolbar height result; */
+ GtkWidget *parent,*box,*toolbar;
printf("EvalCcRqCREATEMDITOOLBAR\n");
if (pcci->p1 && (pcci->p1 != OS_NO_WINDOW_PTR))
{
- parent = GTK_WIDGET(pcci->p1);
+ parent = GTK_WIDGET(pcci->p1);
box = gtk_bin_get_child(GTK_BIN(parent));
toolbar = gtk_toolbar_new();
@@ -525,14 +525,14 @@ void EvalCcRqCREATEMDITOOLBAR (CrossCallInfo *pcci) gtk_widget_show(toolbar);
gtk_window_maximize(GTK_WINDOW(parent));
- MakeReturn2Cci (pcci, (int64_t) toolbar, pcci->p3);
+ MakeReturn2Cci (pcci, (int64_t) toolbar, pcci->p3);
}
}
/* Create a toolbar in a SDI window. */
void EvalCcRqCREATESDITOOLBAR (CrossCallInfo *pcci)
{
- GtkWidget *parent,*box,*toolbar;
+ GtkWidget *parent,*box,*toolbar;
printf("EvalCcRqCREATESDITOOLBAR\n");
if (pcci->p1 && (pcci->p1 != OS_NO_WINDOW_PTR))
@@ -552,9 +552,9 @@ void EvalCcRqCREATESDITOOLBAR (CrossCallInfo *pcci) /* Create a bitmap toolbar item. */
void EvalCcRqCREATETOOLBARITEM (CrossCallInfo *pcci)
{
- GtkWidget *toolbar;
- GdkPixbuf *pixbuf;
- gpointer index;
+ GtkWidget *toolbar;
+ GdkPixbuf *pixbuf;
+ gpointer index;
printf("EvalCcRqCREATETOOLBARITEM\n");
if (pcci->p1 && (pcci->p1 != OS_NO_WINDOW_PTR))
@@ -573,7 +573,7 @@ void EvalCcRqCREATETOOLBARITEM (CrossCallInfo *pcci) /* Create a separator toolbar item. */
void EvalCcRqCREATETOOLBARSEPARATOR (CrossCallInfo *pcci)
{
- GtkWidget *toolbar;
+ GtkWidget *toolbar;
printf("EvalCcRqCREATETOOLBARSEPARATOR\n");
if (pcci->p1 && (pcci->p1 != OS_NO_WINDOW_PTR))
@@ -582,29 +582,29 @@ void EvalCcRqCREATETOOLBARSEPARATOR (CrossCallInfo *pcci) gtk_toolbar_append_space(GTK_TOOLBAR(toolbar));
}
- MakeReturn0Cci (pcci);
+ MakeReturn0Cci (pcci);
}
/* Install the cross call procedures in the gCrossCallProcedureTable of cCrossCall_121.
*/
OS InstallCrossCallxDI (OS ios)
{
- CrossCallProcedureTable newTable;
+ CrossCallProcedureTable newTable;
printf("InstallCrossCallxDI\n");
- newTable = EmptyCrossCallProcedureTable ();
- AddCrossCallEntry (newTable, CcRqCREATESDIFRAMEWINDOW, EvalCcRqCREATESDIFRAMEWINDOW);
- AddCrossCallEntry (newTable, CcRqCREATEMDIFRAMEWINDOW, EvalCcRqCREATEMDIFRAMEWINDOW);
- AddCrossCallEntry (newTable, CcRqDESTROYWINDOW, EvalCcRqDESTROYWINDOW);
- AddCrossCallEntry (newTable, CcRqGETWINDOWPOS, EvalCcRqGETWINDOWPOS);
- AddCrossCallEntry (newTable, CcRqGETCLIENTSIZE, EvalCcRqGETCLIENTSIZE);
- AddCrossCallEntry (newTable, CcRqCREATEMDITOOLBAR, EvalCcRqCREATEMDITOOLBAR);
- AddCrossCallEntry (newTable, CcRqCREATESDITOOLBAR, EvalCcRqCREATESDITOOLBAR);
- AddCrossCallEntry (newTable, CcRqCREATETOOLBARITEM, EvalCcRqCREATETOOLBARITEM);
- AddCrossCallEntry (newTable, CcRqCREATETOOLBARSEPARATOR, EvalCcRqCREATETOOLBARSEPARATOR);
- AddCrossCallEntries (gCrossCallProcedureTable, newTable);
-
- printf("Done\n");
+ newTable = EmptyCrossCallProcedureTable ();
+ AddCrossCallEntry (newTable, CcRqCREATESDIFRAMEWINDOW, EvalCcRqCREATESDIFRAMEWINDOW);
+ AddCrossCallEntry (newTable, CcRqCREATEMDIFRAMEWINDOW, EvalCcRqCREATEMDIFRAMEWINDOW);
+ AddCrossCallEntry (newTable, CcRqDESTROYWINDOW, EvalCcRqDESTROYWINDOW);
+ AddCrossCallEntry (newTable, CcRqGETWINDOWPOS, EvalCcRqGETWINDOWPOS);
+ AddCrossCallEntry (newTable, CcRqGETCLIENTSIZE, EvalCcRqGETCLIENTSIZE);
+ AddCrossCallEntry (newTable, CcRqCREATEMDITOOLBAR, EvalCcRqCREATEMDITOOLBAR);
+ AddCrossCallEntry (newTable, CcRqCREATESDITOOLBAR, EvalCcRqCREATESDITOOLBAR);
+ AddCrossCallEntry (newTable, CcRqCREATETOOLBARITEM, EvalCcRqCREATETOOLBARITEM);
+ AddCrossCallEntry (newTable, CcRqCREATETOOLBARSEPARATOR, EvalCcRqCREATETOOLBARSEPARATOR);
+ AddCrossCallEntries (gCrossCallProcedureTable, newTable);
+
+ printf("Done\n");
return ios;
}
diff --git a/Linux_C_12/cTCP_121.c b/Linux_C_12/cTCP_121.c index e880b82..0e8486e 100644 --- a/Linux_C_12/cTCP_121.c +++ b/Linux_C_12/cTCP_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 printing.
+ About this module:
+ Routines related to printing.
********************************************************************************************/
//#define FD_SETSIZE "maximal number of sockets to select on" (default is 64)
@@ -33,9 +33,9 @@ void abortedHost_asyncC(CleanString inetAddr, int *errCode, HANDLE *endpointRef) void openTCP_ListenerC(int portNum, int *pErrCode, SOCKET *pEndpointRef);
void acceptC(SOCKET endpointRef, int *pErrCode, int *pInetHost, SOCKET *pEndpointRef);
void os_connectTCPC(int isIOProg, int block, int doTimeout, unsigned int stopTime,
- int ipAddr, int portnum,
- int *errCode, int *timeoutExpiredP, int *endpointRefP
- );
+ int ipAddr, int portnum,
+ int *errCode, int *timeoutExpiredP, int *endpointRefP
+ );
void sendC(SOCKET endpointRef, CleanString data, int begin, int nBytes, int *pErrCode, int *pSentBytes);
void receiveC(SOCKET endpointRef, int maxSize, CleanString *data);
int getRcvBuffSizeC();
@@ -45,41 +45,41 @@ void disconnectGracefulC(SOCKET endpointRef); void disconnectBrutalC(SOCKET endpointRef);
void garbageCollectEndpointC(SOCKET endpointRef);
void os_select_inetevents(SOCKET endpointRef, int receiverCategory,
- int referenceCount, int getReceiveEvents, int getSendEvents,
- int aborted
- );
+ int referenceCount, int getReceiveEvents, int getSendEvents,
+ int aborted
+ );
void selectChC(int justForMac, int nonBlocking, int doTimeout, unsigned int stopTime,
- SOCKET *pRChannels, int *justForMac2, SOCKET *pSChannels,
- int *pErrCode
- );
+ SOCKET *pRChannels, int *justForMac2, SOCKET *pSChannels,
+ int *pErrCode
+ );
int tcpPossibleC(void);
//************************************************
// other functions
void StartUp(int abort);
- // initialize winsock (if not started yet. uses global "tcpStartedUp")
- // if succesful: tcpStartedUp==TRUE afterwards
- // if not succesful && abort: aborts
- // if not succesful && !abort: tcpStartedUp==FALSE afterwards
+ // initialize winsock (if not started yet. uses global "tcpStartedUp")
+ // if succesful: tcpStartedUp==TRUE afterwards
+ // if not succesful && abort: aborts
+ // if not succesful && !abort: tcpStartedUp==FALSE afterwards
void CleanUp(void);
//************************************************
// functions to deal with the endpoint dictionary:
int insertNewDictionaryItem(SOCKET endpointRef);
- // allocates memory for new dictionary item, initializes it as far as possible and
- // adds it to the dictionary. returns error code: 0==ok, 1==not ok
+ // allocates memory for new dictionary item, initializes it as far as possible and
+ // adds it to the dictionary. returns error code: 0==ok, 1==not ok
dictitem* lookup(SOCKET endpointRef);
- // lookup entry (CFN)
+ // lookup entry (CFN)
void setEndpointDataC(int endpointRef, int referenceCount,
- int hasReceiveNotifier, int hasSendableNotifier, int aborted);
- // set the corresponding fields of the entry
+ int hasReceiveNotifier, int hasSendableNotifier, int aborted);
+ // set the corresponding fields of the entry
void getEndpointDataC(int endpointRef, int *referenceCount,
- int *hasReceiveNotifier, int *hasSendableNotifier, int *aborted);
- // returns the corresponding fields of the entry
+ int *hasReceiveNotifier, int *hasSendableNotifier, int *aborted);
+ // returns the corresponding fields of the entry
void removeDictionaryItem(SOCKET endpointRef);
- // remove one item via pointer manipulations (must not be called from notifier)
+ // remove one item via pointer manipulations (must not be called from notifier)
//--------------------- GLOBAL VARIABLES ------------------------------------------
@@ -96,74 +96,74 @@ CleanString pRcvBuff; extern DNSInfo *DNSInfoList;
extern HWND ghMainWindow;
extern void (*exit_tcpip_function)(); // the function will be called, when the Clean
- // program terminates
+ // program terminates
//--------------------- FUNCTION IMPLEMENTATION -----------------------------------
int tcpPossibleC(void)
{
printf("tcpPossibleC\n");
- StartUp(FALSE);
- return tcpStartedUp;
+ StartUp(FALSE);
+ return tcpStartedUp;
}
int os_eom(SOCKET endpointRef)
{
- int err, err2;
- char dummyBuffer[1];
- dictitem *pDictitem;
+ int err, err2;
+ char dummyBuffer[1];
+ dictitem *pDictitem;
printf("os_eom\n");
- err = recv( endpointRef, dummyBuffer, 1, MSG_PEEK);
- err2 = WSAGetLastError();
- if (err>0)
- return FALSE;
- if (err<0 && err2==WSAEWOULDBLOCK)
- return FALSE;
- pDictitem = lookup(endpointRef);
- trace( if (!pDictitem)
- rMessageBox(NULL, MB_APPLMODAL, "in os_eom", "ERROR");)
- if (pDictitem->availByteValid)
- return FALSE;
- if (err==0)
- return TRUE;
- return TRUE;
+ err = recv( endpointRef, dummyBuffer, 1, MSG_PEEK);
+ err2 = WSAGetLastError();
+ if (err>0)
+ return FALSE;
+ if (err<0 && err2==WSAEWOULDBLOCK)
+ return FALSE;
+ pDictitem = lookup(endpointRef);
+ trace( if (!pDictitem)
+ rMessageBox(NULL, MB_APPLMODAL, "in os_eom", "ERROR");)
+ if (pDictitem->availByteValid)
+ return FALSE;
+ if (err==0)
+ return TRUE;
+ return TRUE;
}
int os_disconnected(SOCKET endpointRef)
{
- int err;
- char string[1];
- dictitem *pDictitem;
+ int err;
+ char string[1];
+ dictitem *pDictitem;
printf("os_disconnected\n");
- pDictitem = lookup(endpointRef);
- trace( if (!pDictitem)
- rMessageBox(NULL, MB_APPLMODAL, "in os_disconnected", "ERROR");)
- if (pDictitem->disconnected)
- return TRUE;
- err = send( endpointRef, string, 0, 0);
- if (err!=SOCKET_ERROR)
- return FALSE;
- else
- return WSAGetLastError()!=WSAEWOULDBLOCK;
- // only this error can happen with sockets that can still send
+ pDictitem = lookup(endpointRef);
+ trace( if (!pDictitem)
+ rMessageBox(NULL, MB_APPLMODAL, "in os_disconnected", "ERROR");)
+ if (pDictitem->disconnected)
+ return TRUE;
+ err = send( endpointRef, string, 0, 0);
+ if (err!=SOCKET_ERROR)
+ return FALSE;
+ else
+ return WSAGetLastError()!=WSAEWOULDBLOCK;
+ // only this error can happen with sockets that can still send
}
int os_connectrequestavailable(SOCKET endpointRef)
{
- FD_SET readSet;
- TIMEVAL timeout;
- int nr;
+ FD_SET readSet;
+ TIMEVAL timeout;
+ int nr;
printf("os_connectrequestavailable\n");
- FD_ZERO(&readSet);
- FD_SET(endpointRef,&readSet);
+ FD_ZERO(&readSet);
+ FD_SET(endpointRef,&readSet);
- timeout.tv_sec = 0; // Timeout in sec's
- timeout.tv_usec = 0; // Timeout in microsec's
- nr = select(0,&readSet,NULL,NULL,&timeout);
- return nr>0 && FD_ISSET(endpointRef,&readSet);
+ timeout.tv_sec = 0; // Timeout in sec's
+ timeout.tv_usec = 0; // Timeout in microsec's
+ nr = select(0,&readSet,NULL,NULL,&timeout);
+ return nr>0 && FD_ISSET(endpointRef,&readSet);
}
#define majorVrs 1
@@ -172,524 +172,524 @@ int os_connectrequestavailable(SOCKET endpointRef) void StartUp(int abort)
{
printf("StartUp\n");
- if (!tcpStartedUp)
- {
- WORD wVersionRequested;
- WSADATA wsaData;
- int err, four=4;
- SOCKET s;
-
- wVersionRequested = MAKEWORD(majorVrs, minorVrs);
- err = WSAStartup(wVersionRequested, &wsaData);
- if (err != 0) {
- if (abort) {
- rMessageBox(NULL, MB_APPLMODAL, "ERROR", "can't start up winsock"
- "\nprogram aborts");
- ExitProcess (255);
- }
- else
- return;
- }
-
- /* Confirm that the Windows Sockets DLL supports version mj.mi.*/
- /* Note that if the DLL supports versions greater */
- /* than mj.mi in addition to mj.mi, it will still return */
- /* mj.mi in wVersion since that is the version we */
- /* requested. */
+ if (!tcpStartedUp)
+ {
+ WORD wVersionRequested;
+ WSADATA wsaData;
+ int err, four=4;
+ SOCKET s;
+
+ wVersionRequested = MAKEWORD(majorVrs, minorVrs);
+ err = WSAStartup(wVersionRequested, &wsaData);
+ if (err != 0) {
+ if (abort) {
+ rMessageBox(NULL, MB_APPLMODAL, "ERROR", "can't start up winsock"
+ "\nprogram aborts");
+ ExitProcess (255);
+ }
+ else
+ return;
+ }
+
+ /* Confirm that the Windows Sockets DLL supports version mj.mi.*/
+ /* Note that if the DLL supports versions greater */
+ /* than mj.mi in addition to mj.mi, it will still return */
+ /* mj.mi in wVersion since that is the version we */
+ /* requested. */
- if ( LOBYTE( wsaData.wVersion ) != majorVrs ||
- HIBYTE( wsaData.wVersion ) != minorVrs ) {
- WSACleanup();
- if (abort) {
- rMessageBox(NULL, MB_APPLMODAL, "ERROR", "winsock 1.1 or higher not available"
- "\nprogram aborts");
- ExitProcess (255);
- }
- else
- return;
- };
-
- // initialize rcvBuffSize
- s = socket(PF_INET, SOCK_STREAM, 0);
- if (s==INVALID_SOCKET) {
- rMessageBox(NULL, MB_APPLMODAL, "ERROR", "can't create a socket"
- "\nprogram aborts");
- ExitProcess (255);
- };
- if (getsockopt(s, SOL_SOCKET, SO_RCVBUF, (char*) &rcvBuffSize, &four)) {
- rMessageBox(NULL, MB_APPLMODAL, "ERROR", "can't call getsockopt"
- "\nprogram aborts");
- ExitProcess (255);
- };
-
- pRcvBuff = (CleanString) LocalAlloc(LMEM_FIXED, rcvBuffSize+4);
- if (pRcvBuff==NULL) {
- rMessageBox(NULL, MB_APPLMODAL, "ERROR", "out of memory"
- "\nprogram aborts");
- ExitProcess (255);
- };
- exit_tcpip_function = CleanUp;
- tcpStartedUp = TRUE;
- };
+ if ( LOBYTE( wsaData.wVersion ) != majorVrs ||
+ HIBYTE( wsaData.wVersion ) != minorVrs ) {
+ WSACleanup();
+ if (abort) {
+ rMessageBox(NULL, MB_APPLMODAL, "ERROR", "winsock 1.1 or higher not available"
+ "\nprogram aborts");
+ ExitProcess (255);
+ }
+ else
+ return;
+ };
+
+ // initialize rcvBuffSize
+ s = socket(PF_INET, SOCK_STREAM, 0);
+ if (s==INVALID_SOCKET) {
+ rMessageBox(NULL, MB_APPLMODAL, "ERROR", "can't create a socket"
+ "\nprogram aborts");
+ ExitProcess (255);
+ };
+ if (getsockopt(s, SOL_SOCKET, SO_RCVBUF, (char*) &rcvBuffSize, &four)) {
+ rMessageBox(NULL, MB_APPLMODAL, "ERROR", "can't call getsockopt"
+ "\nprogram aborts");
+ ExitProcess (255);
+ };
+
+ pRcvBuff = (CleanString) LocalAlloc(LMEM_FIXED, rcvBuffSize+4);
+ if (pRcvBuff==NULL) {
+ rMessageBox(NULL, MB_APPLMODAL, "ERROR", "out of memory"
+ "\nprogram aborts");
+ ExitProcess (255);
+ };
+ exit_tcpip_function = CleanUp;
+ tcpStartedUp = TRUE;
+ };
}
-
+
void lookupHost_syncC(CleanString inetAddr, int *errCode, int *ipAddrP)
// error code: 0 ok, 1 error (also: addr doesn't exist)
{
- HOSTENT *hostentP;
- unsigned long ipAddr;
+ HOSTENT *hostentP;
+ unsigned long ipAddr;
printf("lookupHost_syncC\n");
-
- StartUp(TRUE);
- ipAddr = inet_addr(CleanStringCharacters(inetAddr));
- if (ipAddr!=INADDR_NONE)
- {
- *errCode = 0;
- *ipAddrP = ntohl(ipAddr);
- return;
- };
- *errCode = 1;
- hostentP = gethostbyname(CleanStringCharacters(inetAddr)); // string is alphanumerical
- if (hostentP!=NULL)
- { *ipAddrP = ntohl(((DWORD *)(*(hostentP->h_addr_list)))[0]);
- if (*ipAddrP!=0)
- *errCode = 0;
- };
+
+ StartUp(TRUE);
+ ipAddr = inet_addr(CleanStringCharacters(inetAddr));
+ if (ipAddr!=INADDR_NONE)
+ {
+ *errCode = 0;
+ *ipAddrP = ntohl(ipAddr);
+ return;
+ };
+ *errCode = 1;
+ hostentP = gethostbyname(CleanStringCharacters(inetAddr)); // string is alphanumerical
+ if (hostentP!=NULL)
+ { *ipAddrP = ntohl(((DWORD *)(*(hostentP->h_addr_list)))[0]);
+ if (*ipAddrP!=0)
+ *errCode = 0;
+ };
}
void lookupHost_asyncC(CleanString inetAddr, int *errCode, HANDLE *endpointRef)
// errCode: 0 ok, 1 not ok
{
- DNSInfo *newPtr;
- HANDLE dnsHdl;
+ DNSInfo *newPtr;
+ HANDLE dnsHdl;
printf("lookupHost_asyncC\n");
- StartUp(TRUE);
-
- *errCode = 1;
- newPtr = (DNSInfo*) LocalAlloc(LMEM_FIXED,sizeof(DNSInfo));
- if (newPtr==NULL) {
- *errCode = 1;
- return;
- };
-
- newPtr->next = DNSInfoList;
- DNSInfoList = newPtr;
-
- // and fill the fields and initiate DNS lookup.
- dnsHdl = WSAAsyncGetHostByName(ghMainWindow,PM_DNS_EVENT,CleanStringCharacters(inetAddr),
- DNSInfoList->junion.freeSpace,
- MAXGETHOSTSTRUCT);
- // this will cause the sending of a PM_DNS_EVENT message to the main window.
- // The wParam value of that message will be equal to dnsHdl so that
- // the ipAdress of the lookedup host can be retrieved then.
- // The element of the List should be deallocated then
- if (dnsHdl==0)
- return;
-
- DNSInfoList->dnsHdl = dnsHdl;
- *errCode = 0;
- *endpointRef = dnsHdl;
+ StartUp(TRUE);
+
+ *errCode = 1;
+ newPtr = (DNSInfo*) LocalAlloc(LMEM_FIXED,sizeof(DNSInfo));
+ if (newPtr==NULL) {
+ *errCode = 1;
+ return;
+ };
+
+ newPtr->next = DNSInfoList;
+ DNSInfoList = newPtr;
+
+ // and fill the fields and initiate DNS lookup.
+ dnsHdl = WSAAsyncGetHostByName(ghMainWindow,PM_DNS_EVENT,CleanStringCharacters(inetAddr),
+ DNSInfoList->junion.freeSpace,
+ MAXGETHOSTSTRUCT);
+ // this will cause the sending of a PM_DNS_EVENT message to the main window.
+ // The wParam value of that message will be equal to dnsHdl so that
+ // the ipAdress of the lookedup host can be retrieved then.
+ // The element of the List should be deallocated then
+ if (dnsHdl==0)
+ return;
+
+ DNSInfoList->dnsHdl = dnsHdl;
+ *errCode = 0;
+ *endpointRef = dnsHdl;
}
void openTCP_ListenerC(int portNum, int *pErrCode, SOCKET *pEndpointRef)
// errCode: 0:ok; otherwise:not ok
{
- SOCKET s;
- SOCKADDR_IN srvAdr;
+ SOCKET s;
+ SOCKADDR_IN srvAdr;
printf("openTCP_ListenerC\n");
- StartUp(TRUE);
-
- *pErrCode = 1;
-
- s = socket(PF_INET, SOCK_STREAM, 0);
- if (s==INVALID_SOCKET)
- return;
-
- srvAdr.sin_family = AF_INET; // of course internet adress family
- srvAdr.sin_addr.s_addr = INADDR_ANY; // internet address will be given after "accept"
- srvAdr.sin_port = htons((short int)portNum);
-
- *pErrCode = bind(s, (LPSOCKADDR) &srvAdr, sizeof(srvAdr));
- if (*pErrCode) {
- closesocket(s);
- return;
- };
-
- *pErrCode = listen(s,5);
- if (*pErrCode) {
- closesocket(s);
- return;
- };
- *pEndpointRef = s;
-
- *pErrCode = insertNewDictionaryItem(s);
- if (*pErrCode)
- return;
-
- setEndpointDataC(s, 1,0,0,0);
+ StartUp(TRUE);
+
+ *pErrCode = 1;
+
+ s = socket(PF_INET, SOCK_STREAM, 0);
+ if (s==INVALID_SOCKET)
+ return;
+
+ srvAdr.sin_family = AF_INET; // of course internet adress family
+ srvAdr.sin_addr.s_addr = INADDR_ANY; // internet address will be given after "accept"
+ srvAdr.sin_port = htons((short int)portNum);
+
+ *pErrCode = bind(s, (LPSOCKADDR) &srvAdr, sizeof(srvAdr));
+ if (*pErrCode) {
+ closesocket(s);
+ return;
+ };
+
+ *pErrCode = listen(s,5);
+ if (*pErrCode) {
+ closesocket(s);
+ return;
+ };
+ *pEndpointRef = s;
+
+ *pErrCode = insertNewDictionaryItem(s);
+ if (*pErrCode)
+ return;
+
+ setEndpointDataC(s, 1,0,0,0);
}
void acceptC(SOCKET listener, int *pErrCode, int *pInetHost, SOCKET *pEndpointRef)
// errCode: 0:ok; otherwise:not ok
{
- SOCKET endpointRef;
- SOCKADDR_IN clientAdr;
- int clientAdrSize, tru;
+ SOCKET endpointRef;
+ SOCKADDR_IN clientAdr;
+ int clientAdrSize, tru;
printf("acceptC\n");
-
- clientAdrSize = sizeof(clientAdr);
- endpointRef = accept(listener,(LPSOCKADDR) &clientAdr, &clientAdrSize);
- tru = TRUE;
- ioctlsocket(endpointRef, FIONBIO, &tru); // set mode to non blocking
- *pErrCode = endpointRef==INVALID_SOCKET;
- if (*pErrCode)
- return;
-
- *pInetHost = ntohl(clientAdr.sin_addr.s_addr);
- *pEndpointRef = endpointRef;
-
- *pErrCode = insertNewDictionaryItem(endpointRef);
- if (*pErrCode)
- return;
-
- setEndpointDataC(endpointRef,2,0,0,0);
+
+ clientAdrSize = sizeof(clientAdr);
+ endpointRef = accept(listener,(LPSOCKADDR) &clientAdr, &clientAdrSize);
+ tru = TRUE;
+ ioctlsocket(endpointRef, FIONBIO, &tru); // set mode to non blocking
+ *pErrCode = endpointRef==INVALID_SOCKET;
+ if (*pErrCode)
+ return;
+
+ *pInetHost = ntohl(clientAdr.sin_addr.s_addr);
+ *pEndpointRef = endpointRef;
+
+ *pErrCode = insertNewDictionaryItem(endpointRef);
+ if (*pErrCode)
+ return;
+
+ setEndpointDataC(endpointRef,2,0,0,0);
}
void os_connectTCPC(int onlyForMac, int block, int doTimeout, unsigned int stopTime,
- int ipAddr, int portnum,
- int *errCodeP, int *timeoutExpiredP, int *endpointRefP)
+ int ipAddr, int portnum,
+ int *errCodeP, int *timeoutExpiredP, int *endpointRefP)
// errCode: 0 ok; 1 not ok
{
- SOCKET client;
- SOCKADDR_IN srvAdr,clientAdr;
- int err, tru;
+ SOCKET client;
+ SOCKADDR_IN srvAdr,clientAdr;
+ int err, tru;
printf("os_connectTCPC\n");
- *errCodeP = 1;
- *timeoutExpiredP = FALSE;
-
- client = socket(PF_INET, SOCK_STREAM, 0);
- if (client==INVALID_SOCKET)
- return;
-
- clientAdr.sin_family = AF_INET; // of course internet adress family
- clientAdr.sin_addr.s_addr = INADDR_ANY; // internet adress will be given after "connect"
- clientAdr.sin_port = 0; // the winsock library will choose a free number between 1024 and 5000
-
- err = bind(client, (LPSOCKADDR) &clientAdr, sizeof(clientAdr));
- if (err)
- {
- closesocket(client);
- return;
- };
-
- srvAdr.sin_family = AF_INET; // of course internet adress family
- srvAdr.sin_addr.s_addr = htonl(ipAddr);
- srvAdr.sin_port = htons((short int)portnum);
-
- tru = TRUE;
-
- //////////////////////////////////////////////////////////////////////////
- if (block && doTimeout)
- {
- ioctlsocket(client, FIONBIO, &tru); // set mode to non blocking
- err = connect(client, (LPSOCKADDR) &srvAdr, sizeof(srvAdr));
- if (!err) {
- *errCodeP = 0;
- *timeoutExpiredP = FALSE;
- *endpointRefP = client;
- }
- else if (WSAGetLastError()!=WSAEWOULDBLOCK) {
- closesocket(client);
- return;
- }
- else
- {
- FD_SET writeSet, exptnSet;
- TIMEVAL timeout;
- unsigned int now;
- int noOfWritableSockets, timeoutTicks;
- FD_ZERO(&writeSet);
- FD_SET(client,&writeSet);
- FD_ZERO(&exptnSet);
- FD_SET(client,&exptnSet);
-
- now = GetTickCount();
- timeoutTicks = ((int)stopTime) - ((int)now);
- if (timeoutTicks<=0)
- { // timeout expired
- closesocket(client);
- *timeoutExpiredP = TRUE;
- return;
- };
- timeout.tv_sec = timeoutTicks / 1000; // Timeout in sec's
- timeout.tv_usec = (timeoutTicks % 1000)*1000; // Timeout in microsec's
- noOfWritableSockets = select(0,NULL,&writeSet,&exptnSet,&timeout);
- *errCodeP = noOfWritableSockets<0
- || (noOfWritableSockets>0 && FD_ISSET(client,&exptnSet));
- *timeoutExpiredP = noOfWritableSockets==0;
- *endpointRefP = client;
- if (*errCodeP || *timeoutExpiredP) {
- closesocket(client);
- return;
- };
- };
- };
- ///////////////////////////////////////////////////////////////////////////
- if (block && !doTimeout)
- {
- err = connect(client, (LPSOCKADDR) &srvAdr, sizeof(srvAdr));
- if (err)
- {
- closesocket(client);
- return;
- };
-
- ioctlsocket(client, FIONBIO, &tru); // set mode to non blocking
-
- *errCodeP = 0;
- *timeoutExpiredP = FALSE;
- *endpointRefP = client;
- };
- ////////////////////////////////////////////////////////////////////////////
- if (!block)
- {
-
- err = WSAAsyncSelect(client,ghMainWindow,PM_SOCKET_EVENT,FD_CONNECT);
- if (err)
- {
- closesocket(client);
- return;
- };
-
- err = connect(client, (LPSOCKADDR) &srvAdr, sizeof(srvAdr));
- if (err==SOCKET_ERROR)
- {
- err = WSAGetLastError(); // a WSAEWOULDBLOCK error is a pretty harmless thing
- if (err!=WSAEWOULDBLOCK)
- {
- closesocket(client);
- return;
- };
- };
- *errCodeP = 0;
- *timeoutExpiredP = FALSE;
- *endpointRefP = client;
- };
- //////////////////////////////////////////////////////////////////////////////
-
- *errCodeP = insertNewDictionaryItem(client);
- if (*errCodeP)
- {
- closesocket(client);
- return;
- };
- if (block)
- setEndpointDataC(client,2,0,0,0);
- else
- {
- dictitem *ptr;
- ptr = lookup(client);
- ptr->referenceCount = 1;
- ptr->hasReceiveNotifier = 0;
- ptr->hasSendableNotifier = 1;
- ptr->aborted = 0;
- };
+ *errCodeP = 1;
+ *timeoutExpiredP = FALSE;
+
+ client = socket(PF_INET, SOCK_STREAM, 0);
+ if (client==INVALID_SOCKET)
+ return;
+
+ clientAdr.sin_family = AF_INET; // of course internet adress family
+ clientAdr.sin_addr.s_addr = INADDR_ANY; // internet adress will be given after "connect"
+ clientAdr.sin_port = 0; // the winsock library will choose a free number between 1024 and 5000
+
+ err = bind(client, (LPSOCKADDR) &clientAdr, sizeof(clientAdr));
+ if (err)
+ {
+ closesocket(client);
+ return;
+ };
+
+ srvAdr.sin_family = AF_INET; // of course internet adress family
+ srvAdr.sin_addr.s_addr = htonl(ipAddr);
+ srvAdr.sin_port = htons((short int)portnum);
+
+ tru = TRUE;
+
+ //////////////////////////////////////////////////////////////////////////
+ if (block && doTimeout)
+ {
+ ioctlsocket(client, FIONBIO, &tru); // set mode to non blocking
+ err = connect(client, (LPSOCKADDR) &srvAdr, sizeof(srvAdr));
+ if (!err) {
+ *errCodeP = 0;
+ *timeoutExpiredP = FALSE;
+ *endpointRefP = client;
+ }
+ else if (WSAGetLastError()!=WSAEWOULDBLOCK) {
+ closesocket(client);
+ return;
+ }
+ else
+ {
+ FD_SET writeSet, exptnSet;
+ TIMEVAL timeout;
+ unsigned int now;
+ int noOfWritableSockets, timeoutTicks;
+ FD_ZERO(&writeSet);
+ FD_SET(client,&writeSet);
+ FD_ZERO(&exptnSet);
+ FD_SET(client,&exptnSet);
+
+ now = GetTickCount();
+ timeoutTicks = ((int)stopTime) - ((int)now);
+ if (timeoutTicks<=0)
+ { // timeout expired
+ closesocket(client);
+ *timeoutExpiredP = TRUE;
+ return;
+ };
+ timeout.tv_sec = timeoutTicks / 1000; // Timeout in sec's
+ timeout.tv_usec = (timeoutTicks % 1000)*1000; // Timeout in microsec's
+ noOfWritableSockets = select(0,NULL,&writeSet,&exptnSet,&timeout);
+ *errCodeP = noOfWritableSockets<0
+ || (noOfWritableSockets>0 && FD_ISSET(client,&exptnSet));
+ *timeoutExpiredP = noOfWritableSockets==0;
+ *endpointRefP = client;
+ if (*errCodeP || *timeoutExpiredP) {
+ closesocket(client);
+ return;
+ };
+ };
+ };
+ ///////////////////////////////////////////////////////////////////////////
+ if (block && !doTimeout)
+ {
+ err = connect(client, (LPSOCKADDR) &srvAdr, sizeof(srvAdr));
+ if (err)
+ {
+ closesocket(client);
+ return;
+ };
+
+ ioctlsocket(client, FIONBIO, &tru); // set mode to non blocking
+
+ *errCodeP = 0;
+ *timeoutExpiredP = FALSE;
+ *endpointRefP = client;
+ };
+ ////////////////////////////////////////////////////////////////////////////
+ if (!block)
+ {
+
+ err = WSAAsyncSelect(client,ghMainWindow,PM_SOCKET_EVENT,FD_CONNECT);
+ if (err)
+ {
+ closesocket(client);
+ return;
+ };
+
+ err = connect(client, (LPSOCKADDR) &srvAdr, sizeof(srvAdr));
+ if (err==SOCKET_ERROR)
+ {
+ err = WSAGetLastError(); // a WSAEWOULDBLOCK error is a pretty harmless thing
+ if (err!=WSAEWOULDBLOCK)
+ {
+ closesocket(client);
+ return;
+ };
+ };
+ *errCodeP = 0;
+ *timeoutExpiredP = FALSE;
+ *endpointRefP = client;
+ };
+ //////////////////////////////////////////////////////////////////////////////
+
+ *errCodeP = insertNewDictionaryItem(client);
+ if (*errCodeP)
+ {
+ closesocket(client);
+ return;
+ };
+ if (block)
+ setEndpointDataC(client,2,0,0,0);
+ else
+ {
+ dictitem *ptr;
+ ptr = lookup(client);
+ ptr->referenceCount = 1;
+ ptr->hasReceiveNotifier = 0;
+ ptr->hasSendableNotifier = 1;
+ ptr->aborted = 0;
+ };
}
void sendC(SOCKET endpointRef, CleanString data, int begin, int nBytes,
- int *pErrCode, int *pSentBytes)
+ int *pErrCode, int *pSentBytes)
{
- int sentBytes;
+ int sentBytes;
printf("sendC\n");
- *pErrCode = 0;
- sentBytes = send(endpointRef, CleanStringCharacters(data)+begin,nBytes, 0);
- if (sentBytes==SOCKET_ERROR) {
- int err;
- sentBytes = 0;
- err = WSAGetLastError();
- if (err!=WSAEWOULDBLOCK) {
- dictitem *pDictitem;
- pDictitem = lookup(endpointRef);
- trace( if (!pDictitem)
- rMessageBox(NULL, MB_APPLMODAL, "in sendC", "ERROR");)
- pDictitem->disconnected =1;
- *pErrCode = 1;
- }
- };
- *pSentBytes = sentBytes;
+ *pErrCode = 0;
+ sentBytes = send(endpointRef, CleanStringCharacters(data)+begin,nBytes, 0);
+ if (sentBytes==SOCKET_ERROR) {
+ int err;
+ sentBytes = 0;
+ err = WSAGetLastError();
+ if (err!=WSAEWOULDBLOCK) {
+ dictitem *pDictitem;
+ pDictitem = lookup(endpointRef);
+ trace( if (!pDictitem)
+ rMessageBox(NULL, MB_APPLMODAL, "in sendC", "ERROR");)
+ pDictitem->disconnected =1;
+ *pErrCode = 1;
+ }
+ };
+ *pSentBytes = sentBytes;
}
void receiveC(SOCKET endpointRef, int maxSize, CleanString *pReceived)
{
- int size, received;
- dictitem *pDictitem;
+ int size, received;
+ dictitem *pDictitem;
printf("receiveC\n");
- *pReceived = (CleanString) pRcvBuff;
- size = maxSize<=0 ? rcvBuffSize : maxSize;
- received = recv( endpointRef, CleanStringCharacters(pRcvBuff), size, 0);
- pDictitem = lookup(endpointRef);
- trace( if (!pDictitem)
- rMessageBox(NULL, MB_APPLMODAL, "in receiveC", "ERROR");)
- if (received>0) {
- pDictitem->availByteValid = 0;
- CleanStringLength(pRcvBuff) = received;
- }
- else if (pDictitem->availByteValid) {
- CleanStringCharacters(pRcvBuff)[0] = pDictitem->availByte;
- pDictitem->availByteValid = 0;
- CleanStringLength(pRcvBuff) = 1;
- }
- else
- CleanStringLength(pRcvBuff) = 0;
+ *pReceived = (CleanString) pRcvBuff;
+ size = maxSize<=0 ? rcvBuffSize : maxSize;
+ received = recv( endpointRef, CleanStringCharacters(pRcvBuff), size, 0);
+ pDictitem = lookup(endpointRef);
+ trace( if (!pDictitem)
+ rMessageBox(NULL, MB_APPLMODAL, "in receiveC", "ERROR");)
+ if (received>0) {
+ pDictitem->availByteValid = 0;
+ CleanStringLength(pRcvBuff) = received;
+ }
+ else if (pDictitem->availByteValid) {
+ CleanStringCharacters(pRcvBuff)[0] = pDictitem->availByte;
+ pDictitem->availByteValid = 0;
+ CleanStringLength(pRcvBuff) = 1;
+ }
+ else
+ CleanStringLength(pRcvBuff) = 0;
}
int data_availableC(SOCKET endpointRef)
{
- dictitem *pDictitem;
- int err;
+ dictitem *pDictitem;
+ int err;
printf("data_availableC\n");
- pDictitem = lookup(endpointRef);
- trace( if (!pDictitem)
- rMessageBox(NULL, MB_APPLMODAL, "in data_availableC",
- "ERROR\nendpoint %i not found", endpointRef);)
- if (pDictitem->availByteValid)
- return TRUE;
- err = recv( endpointRef, &pDictitem->availByte, 1, MSG_PEEK);
- if (err>0) {
- pDictitem->availByteValid = 1;
- return TRUE;
- };
- return FALSE;
+ pDictitem = lookup(endpointRef);
+ trace( if (!pDictitem)
+ rMessageBox(NULL, MB_APPLMODAL, "in data_availableC",
+ "ERROR\nendpoint %i not found", endpointRef);)
+ if (pDictitem->availByteValid)
+ return TRUE;
+ err = recv( endpointRef, &pDictitem->availByte, 1, MSG_PEEK);
+ if (err>0) {
+ pDictitem->availByteValid = 1;
+ return TRUE;
+ };
+ return FALSE;
}
void disconnectGracefulC(SOCKET endpointRef)
{
printf("disconnecteGracefulC\n");
- shutdown(endpointRef,1); // 1: graceful
+ shutdown(endpointRef,1); // 1: graceful
}
void disconnectBrutalC(SOCKET endpointRef)
{
- LINGER linger;
+ LINGER linger;
printf("disconnectBrutalC\n");
- linger.l_onoff = 1;
- linger.l_linger = 0;
- setsockopt(endpointRef, SOL_SOCKET, SO_LINGER, (char*) &linger, sizeof(linger));
+ linger.l_onoff = 1;
+ linger.l_linger = 0;
+ setsockopt(endpointRef, SOL_SOCKET, SO_LINGER, (char*) &linger, sizeof(linger));
}
void garbageCollectEndpointC(SOCKET endpointRef)
{
- dictitem *pDictitem;
+ dictitem *pDictitem;
printf("garbageCollectEndpointC\n");
- pDictitem = lookup(endpointRef);
- if (pDictitem!=NULL && pDictitem->referenceCount==0) {
- closesocket(endpointRef);
- removeDictionaryItem(endpointRef);
- };
+ pDictitem = lookup(endpointRef);
+ if (pDictitem!=NULL && pDictitem->referenceCount==0) {
+ closesocket(endpointRef);
+ removeDictionaryItem(endpointRef);
+ };
}
void os_select_inetevents( SOCKET endpointRef, int receiverCategory,
- int referenceCount, int getReceiveEvents, int getSendEvents,
- int aborted)
+ int referenceCount, int getReceiveEvents, int getSendEvents,
+ int aborted)
{
printf("os_select_inetevents\n");
- setEndpointDataC(endpointRef, referenceCount, getReceiveEvents, getSendEvents, aborted);
+ setEndpointDataC(endpointRef, referenceCount, getReceiveEvents, getSendEvents, aborted);
}
void initFD_SET(FD_SET **ppSet, SOCKET sockets[], int n)
{
- int i;
- FD_SET *pSet;
+ int i;
+ FD_SET *pSet;
printf("initFD_SET\n");
- pSet = (FD_SET*) LocalAlloc(LMEM_FIXED | LMEM_ZEROINIT, n*sizeof(SOCKET)+sizeof(u_int));
- for(i=0; i<n; i++)
- FD_SET(sockets[i], pSet);
- *ppSet = pSet;
+ pSet = (FD_SET*) LocalAlloc(LMEM_FIXED | LMEM_ZEROINIT, n*sizeof(SOCKET)+sizeof(u_int));
+ for(i=0; i<n; i++)
+ FD_SET(sockets[i], pSet);
+ *ppSet = pSet;
}
-
+
void selectChC( int justForMac, int nonBlocking, int doTimeout, unsigned int stopTime,
- SOCKET *pRChannels, int *justForMac2, SOCKET *pSChannels,
- int *pErrCode)
+ SOCKET *pRChannels, int *justForMac2, SOCKET *pSChannels,
+ int *pErrCode)
// error code: 0=ok; 1=timeout expired, 3=other errors
{
- int nRChannels, nSChannels, i;
- FD_SET *pReadSet, *pWriteSet;
- TIMEVAL timeout;
- unsigned int now;
- int n, timeoutTicks;
+ int nRChannels, nSChannels, i;
+ FD_SET *pReadSet, *pWriteSet;
+ TIMEVAL timeout;
+ unsigned int now;
+ int n, timeoutTicks;
printf("selectChC\n");
- nRChannels = (int) pRChannels[-2];
- nSChannels = (int) pSChannels[-2];
- if (doTimeout)
- {
- now = GetTickCount();
- timeoutTicks = nonBlocking ? 0 : ((int)stopTime) - ((int)now);
- if (timeoutTicks<0)
- {
- *pErrCode = 1;
- return;
- };
- timeout.tv_sec = timeoutTicks / 1000; // Timeout in sec's
- timeout.tv_usec = (timeoutTicks % 1000)*1000; // Timeout in microsec's
- };
- initFD_SET(&pReadSet, pRChannels, nRChannels);
- initFD_SET(&pWriteSet, pSChannels, nSChannels);
- n = select(0,pReadSet,pWriteSet,NULL, doTimeout ? &timeout : NULL);
- if (n==0)
- { // timeout expired
- *pErrCode = 1;
- return;
- };
- if (n<0)
- {
- *pErrCode = 3;
- return;
- };
- for(i=0; i<nRChannels; i++)
- if (FD_ISSET(pRChannels[i], pReadSet))
- pRChannels[i] = 0;
- for(i=0; i<nSChannels; i++)
- if (FD_ISSET(pSChannels[i], pWriteSet))
- pSChannels[i] = 0;
- *pErrCode = 0;
+ nRChannels = (int) pRChannels[-2];
+ nSChannels = (int) pSChannels[-2];
+ if (doTimeout)
+ {
+ now = GetTickCount();
+ timeoutTicks = nonBlocking ? 0 : ((int)stopTime) - ((int)now);
+ if (timeoutTicks<0)
+ {
+ *pErrCode = 1;
+ return;
+ };
+ timeout.tv_sec = timeoutTicks / 1000; // Timeout in sec's
+ timeout.tv_usec = (timeoutTicks % 1000)*1000; // Timeout in microsec's
+ };
+ initFD_SET(&pReadSet, pRChannels, nRChannels);
+ initFD_SET(&pWriteSet, pSChannels, nSChannels);
+ n = select(0,pReadSet,pWriteSet,NULL, doTimeout ? &timeout : NULL);
+ if (n==0)
+ { // timeout expired
+ *pErrCode = 1;
+ return;
+ };
+ if (n<0)
+ {
+ *pErrCode = 3;
+ return;
+ };
+ for(i=0; i<nRChannels; i++)
+ if (FD_ISSET(pRChannels[i], pReadSet))
+ pRChannels[i] = 0;
+ for(i=0; i<nSChannels; i++)
+ if (FD_ISSET(pSChannels[i], pWriteSet))
+ pSChannels[i] = 0;
+ *pErrCode = 0;
}
// this function is called from Cleans runtime system via *exit_tcpip_function
void CleanUp(void)
{
- dictitem *pDictitem, *pTemp;
- int referenceCount;
- pDictitem = endpointDict;
+ dictitem *pDictitem, *pTemp;
+ int referenceCount;
+ pDictitem = endpointDict;
printf("CleanUp\n");
- while (pDictitem) {
- referenceCount = pDictitem->referenceCount;
- if (referenceCount!=0) {
- if (referenceCount==1 && pDictitem->aborted) {
- disconnectBrutalC(pDictitem->endpointRef);
- }
- else
- disconnectGracefulC(pDictitem->endpointRef);
- closesocket(pDictitem->endpointRef);
- };
- pTemp = pDictitem;
- pDictitem = pDictitem->next;
- GlobalFree((char*) pTemp);
- };
- WSACleanup();
+ while (pDictitem) {
+ referenceCount = pDictitem->referenceCount;
+ if (referenceCount!=0) {
+ if (referenceCount==1 && pDictitem->aborted) {
+ disconnectBrutalC(pDictitem->endpointRef);
+ }
+ else
+ disconnectGracefulC(pDictitem->endpointRef);
+ closesocket(pDictitem->endpointRef);
+ };
+ pTemp = pDictitem;
+ pDictitem = pDictitem->next;
+ GlobalFree((char*) pTemp);
+ };
+ WSACleanup();
}
@@ -697,85 +697,85 @@ void CleanUp(void) int insertNewDictionaryItem(SOCKET endpointRef)
{
- dictitem *newItem;
+ dictitem *newItem;
printf("insertNewDictionaryItem\n");
newItem = (dictitem*) GlobalAlloc(LMEM_FIXED, sizeof(dictitem));
- if (newItem==NULL)
- return 1;
-
- newItem->endpointRef = endpointRef;
- newItem->next = endpointDict;
- newItem->availByteValid = 0;
- newItem->aborted = 0;
- newItem->disconnected = 0;
- endpointDict = newItem;
-
- return 0;
+ if (newItem==NULL)
+ return 1;
+
+ newItem->endpointRef = endpointRef;
+ newItem->next = endpointDict;
+ newItem->availByteValid = 0;
+ newItem->aborted = 0;
+ newItem->disconnected = 0;
+ endpointDict = newItem;
+
+ return 0;
}
dictitem* lookup(SOCKET endpointRef)
{
- dictitem *ptr=endpointDict;
+ dictitem *ptr=endpointDict;
printf("lookup\n");
- while (ptr!=NULL && (ptr->endpointRef!=endpointRef))
- ptr = ptr->next;
-
- return ptr;
+ while (ptr!=NULL && (ptr->endpointRef!=endpointRef))
+ ptr = ptr->next;
+
+ return ptr;
}
void setEndpointDataC( int endpointRef, int referenceCount,
- int hasReceiveNotifier, int hasSendableNotifier, int aborted)
+ int hasReceiveNotifier, int hasSendableNotifier, int aborted)
{
- dictitem *ptr;
+ dictitem *ptr;
printf("setEndpointDataC\n");
- ptr = lookup((SOCKET) endpointRef);
-
- if (ptr!=NULL)
- { ptr->referenceCount = referenceCount;
- ptr->hasReceiveNotifier = hasReceiveNotifier ? 1 : 0;
- ptr->hasSendableNotifier = hasSendableNotifier ? 1 : 0;
- ptr->aborted = aborted ? 1 : 0;
- };
- WSAAsyncSelect(endpointRef, ghMainWindow, PM_SOCKET_EVENT,
- (hasReceiveNotifier ? FD_READ | FD_OOB | FD_ACCEPT | FD_CLOSE : 0)
- | (hasSendableNotifier ? FD_WRITE | FD_CLOSE : 0));
+ ptr = lookup((SOCKET) endpointRef);
+
+ if (ptr!=NULL)
+ { ptr->referenceCount = referenceCount;
+ ptr->hasReceiveNotifier = hasReceiveNotifier ? 1 : 0;
+ ptr->hasSendableNotifier = hasSendableNotifier ? 1 : 0;
+ ptr->aborted = aborted ? 1 : 0;
+ };
+ WSAAsyncSelect(endpointRef, ghMainWindow, PM_SOCKET_EVENT,
+ (hasReceiveNotifier ? FD_READ | FD_OOB | FD_ACCEPT | FD_CLOSE : 0)
+ | (hasSendableNotifier ? FD_WRITE | FD_CLOSE : 0));
}
void getEndpointDataC( int endpointRef, int *referenceCount,
- int *hasReceiveNotifier, int *hasSendableNotifier, int *aborted)
+ int *hasReceiveNotifier, int *hasSendableNotifier, int *aborted)
{
- dictitem *ptr;
+ dictitem *ptr;
printf("getEndpointDataC\n");
- ptr = lookup((SOCKET) endpointRef);
-
- if (ptr!=NULL)
- { *referenceCount = ptr->referenceCount;
- *hasReceiveNotifier = ptr->hasReceiveNotifier!=0;
- *hasSendableNotifier = ptr->hasSendableNotifier!=0;
- *aborted = ptr->aborted!=0;
- };
+ ptr = lookup((SOCKET) endpointRef);
+
+ if (ptr!=NULL)
+ { *referenceCount = ptr->referenceCount;
+ *hasReceiveNotifier = ptr->hasReceiveNotifier!=0;
+ *hasSendableNotifier = ptr->hasSendableNotifier!=0;
+ *aborted = ptr->aborted!=0;
+ };
}
void removeDictionaryItem(SOCKET endpointRef)
// the dictionary MUST contain a valid item with the endpointRef
{
- dictitem **ptr, *temp;
- int notRemoved;
+ dictitem **ptr, *temp;
+ int notRemoved;
printf("removeDictionaryItem\n");
- ptr = &endpointDict;
- notRemoved = TRUE;
- while(notRemoved)
- if ((*ptr)->endpointRef==endpointRef)
- {
- temp = *ptr;
- *ptr = (*ptr)->next;
- GlobalFree((char*) temp);
- notRemoved = FALSE;
- }
- else
- ptr = &((*ptr)->next);
+ ptr = &endpointDict;
+ notRemoved = TRUE;
+ while(notRemoved)
+ if ((*ptr)->endpointRef==endpointRef)
+ {
+ temp = *ptr;
+ *ptr = (*ptr)->next;
+ GlobalFree((char*) temp);
+ notRemoved = FALSE;
+ }
+ else
+ ptr = &((*ptr)->next);
}
diff --git a/Linux_C_12/cTCP_121.h b/Linux_C_12/cTCP_121.h index 0707781..303eea6 100644 --- a/Linux_C_12/cTCP_121.h +++ b/Linux_C_12/cTCP_121.h @@ -7,31 +7,31 @@ typedef int DNSHdl;
struct DNSInfo
- { struct DNSInfo *next;
- HANDLE dnsHdl;
- union { struct hostent Hostent;
- char freeSpace[MAXGETHOSTSTRUCT];
- }
- junion;
- };
+ { struct DNSInfo *next;
+ HANDLE dnsHdl;
+ union { struct hostent Hostent;
+ char freeSpace[MAXGETHOSTSTRUCT];
+ }
+ junion;
+ };
typedef struct DNSInfo DNSInfo;
/* the dictionary items */
struct dictitem
- { SOCKET endpointRef;
- struct dictitem *next;
- char availByte;
- unsigned availByteValid : 1;
- unsigned referenceCount : 2;
- unsigned hasReceiveNotifier : 1;
+ { SOCKET endpointRef;
+ struct dictitem *next;
+ char availByte;
+ unsigned availByteValid : 1;
+ unsigned referenceCount : 2;
+ unsigned hasReceiveNotifier : 1;
/*
* three kinds of receivers: receivers for established connections,
* receivers for dns requests, receivers for asynchronous connect
*/
- unsigned hasSendableNotifier : 1;
- unsigned aborted : 1;
- unsigned disconnected : 1;
- };
+ unsigned hasSendableNotifier : 1;
+ unsigned aborted : 1;
+ unsigned disconnected : 1;
+ };
typedef struct dictitem dictitem;
#define IE_CONNECTREQUEST 0x0001
diff --git a/Linux_C_12/cdebug_121.c b/Linux_C_12/cdebug_121.c index 9b4a438..c0e124b 100644 --- a/Linux_C_12/cdebug_121.c +++ b/Linux_C_12/cdebug_121.c @@ -1,39 +1,39 @@ /********************************************************************************************
- 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 useful for debugging.
+ About this module:
+ Routines useful for debugging.
********************************************************************************************/
#include "cdebug_121.h"
#include "time.h"
int Rand (void)
{
- static int holdrand;
- static int randinited = 0;
+ static int holdrand;
+ static int randinited = 0;
printf("Rand\n");
- if (!randinited)
- {
- holdrand = (int) 0; //GetTickCount ();
- randinited = -1;
- }
+ if (!randinited)
+ {
+ holdrand = (int) 0; //GetTickCount ();
+ randinited = -1;
+ }
- holdrand = holdrand * 214013 + 2531011;
+ holdrand = holdrand * 214013 + 2531011;
- return ((holdrand >> 16) & 0x7fff);
+ return ((holdrand >> 16) & 0x7fff);
}
OS ConsolePrint (CLEAN_STRING cleanstr, OS os)
{
- char *cstr;
+ char *cstr;
printf("ConsolePrint\n");
- cstr = cstring (cleanstr);
- rprintf (cstr);
- return os;
+ cstr = cstring (cleanstr);
+ rprintf (cstr);
+ return os;
}
diff --git a/Linux_C_12/clean_types.h b/Linux_C_12/clean_types.h index d4e9b93..9ce4164 100644 --- a/Linux_C_12/clean_types.h +++ b/Linux_C_12/clean_types.h @@ -3,31 +3,31 @@ #if 0
typedef struct clean_string
{
- int length;
+ int length;
#ifdef SOLARIS
- char characters[4];
+ char characters[4];
#else
- char characters[0];
+ char characters[0];
#endif
} *CLEAN_STRING;
#endif
typedef struct clean_file
{
- int number;
- int position;
+ int number;
+ int position;
} CLEAN_FILE;
struct file {
- FILE *file;
- unsigned long position;
- unsigned long file_length;
- char *file_name;
- long file_number;
- int device_number;
- short mode;
- short filler_1;
- long filler_2;
+ FILE *file;
+ unsigned long position;
+ unsigned long file_length;
+ char *file_name;
+ long file_number;
+ int device_number;
+ short mode;
+ short filler_1;
+ long filler_2;
};
#define CLOSED_FILE 0
diff --git a/Linux_C_12/cpicture_121.h b/Linux_C_12/cpicture_121.h index 2b08ef9..68489a4 100644 --- a/Linux_C_12/cpicture_121.h +++ b/Linux_C_12/cpicture_121.h @@ -14,10 +14,10 @@ extern int OsMMtoVPixels(double); extern int OsMMtoHPixels(double);
void WinInitPicture (int size, int mode, int pr, int pg, int pb,
- int br, int bg, int bb, int x, int y,
+ int br, int bg, int bb, int x, int y,
CLEAN_STRING fname, int fstyle, int fsize,
int ox, int oy, OSPictContext inDraw, OS os,
- OSPictContext *outDraw, OS *oos);
+ OSPictContext *outDraw, OS *oos);
void WinDonePicture(GdkDrawable *, OS, GdkDrawable **, OS*);
diff --git a/Linux_C_12/cprinter_121.c b/Linux_C_12/cprinter_121.c index 8e635a3..83ff63d 100644 --- a/Linux_C_12/cprinter_121.c +++ b/Linux_C_12/cprinter_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 and Clean 0.8 I/O library
- for the Windows platform.
+ Clean OS Windows library module version 1.2.1.
+ This module is part of the Clean Object I/O library and Clean 0.8 I/O library
+ for the Windows platform.
********************************************************************************************/
/********************************************************************************************
- About this module:
- Routines related to printing.
+ About this module:
+ Routines related to printing.
********************************************************************************************/
#include "util_121.h"
@@ -37,169 +37,169 @@ typedef char* LPCTSTR; #define tachtig 80
void getDevmodeSizeC(int *size, HANDLE *phPrinter,
- char **device, char **driver, char **output)
+ char **device, char **driver, char **output)
{
#if 0
- char szPrinter[80];
- char *szDevice, *szDriver, *szOutput;
-
- GetProfileString("windows", "device", ",,,", szPrinter, 80);
- szDevice = strtok(szPrinter,",");
- szDriver = strtok(NULL,", ");
- szOutput = strtok(NULL,", ");
- *device = g_strdup(szDevice);
- *driver = g_strdup(szDriver);
- *output = g_strdup(szOutput);
- if (*szDevice=='\0' || *szDriver=='\0' || *szOutput=='\0')
- {
- *size = 0;
- return;
- };
- OpenPrinter(szDevice,phPrinter,NULL);
- *size = DocumentProperties(NULL,*phPrinter,szDevice,NULL,NULL,0);
+ char szPrinter[80];
+ char *szDevice, *szDriver, *szOutput;
+
+ GetProfileString("windows", "device", ",,,", szPrinter, 80);
+ szDevice = strtok(szPrinter,",");
+ szDriver = strtok(NULL,", ");
+ szOutput = strtok(NULL,", ");
+ *device = g_strdup(szDevice);
+ *driver = g_strdup(szDriver);
+ *output = g_strdup(szOutput);
+ if (*szDevice=='\0' || *szDriver=='\0' || *szOutput=='\0')
+ {
+ *size = 0;
+ return;
+ };
+ OpenPrinter(szDevice,phPrinter,NULL);
+ *size = DocumentProperties(NULL,*phPrinter,szDevice,NULL,NULL,0);
#endif
}
void getDefaultDevmodeC(char *printSetup, LPHANDLE phPrinter, char **device)
{
#if 0
- int size,r1;
+ int size,r1;
- size = ((int*)printSetup)[0];
- printSetup +=4;
- r1 = DocumentProperties(NULL,phPrinter,((char*)device)+4,
- (DEVMODE*)printSetup,NULL,DM_OUT_BUFFER);
- ClosePrinter(phPrinter);
+ size = ((int*)printSetup)[0];
+ printSetup +=4;
+ r1 = DocumentProperties(NULL,phPrinter,((char*)device)+4,
+ (DEVMODE*)printSetup,NULL,DM_OUT_BUFFER);
+ ClosePrinter(phPrinter);
#endif
}
#if 0
static HDC myCreateIC(LPCTSTR driver, LPCTSTR device, DEVMODE *devmode)
{
- HDC icPrint;
+ HDC icPrint;
- icPrint = CreateIC(driver,device,NULL,devmode);
- if (!icPrint)
- icPrint = CreateIC(driver,device,NULL,devmode);
- /* try once again. Adobe printer drivers sometimes need to be told everything twice */
- return icPrint;
+ icPrint = CreateIC(driver,device,NULL,devmode);
+ if (!icPrint)
+ icPrint = CreateIC(driver,device,NULL,devmode);
+ /* try once again. Adobe printer drivers sometimes need to be told everything twice */
+ return icPrint;
}
#endif
#define GetDeviceCapsWithDefault(icPrint, index, defaullt) (icPrint ? GetDeviceCaps(icPrint, index) : defaullt)
void os_getpagedimensionsC( DEVMODE *devmode, char *device, char *driver,
- int emulateScreenRes,
- int *maxX, int *maxY,
- int *leftPaper, int *topPaper,
- int *rightPaper, int *bottomPaper,
- int *xRes, int *yRes
- )
+ int emulateScreenRes,
+ int *maxX, int *maxY,
+ int *leftPaper, int *topPaper,
+ int *rightPaper, int *bottomPaper,
+ int *xRes, int *yRes
+ )
{
#if 0
- HDC icPrint;
- int horPaperPixels, verPaperPixels,
- xResolution,yResolution,
- scNX, scNY, scDX, scDY;
+ HDC icPrint;
+ int horPaperPixels, verPaperPixels,
+ xResolution,yResolution,
+ scNX, scNY, scDX, scDY;
- icPrint = myCreateIC(driver,device, devmode);
+ icPrint = myCreateIC(driver,device, devmode);
- xResolution = GetDeviceCapsWithDefault(icPrint, LOGPIXELSX, 300);
- yResolution = GetDeviceCapsWithDefault(icPrint, LOGPIXELSY, 300);
- if (emulateScreenRes) /* for emulation of the screen resolution */
- {
+ xResolution = GetDeviceCapsWithDefault(icPrint, LOGPIXELSX, 300);
+ yResolution = GetDeviceCapsWithDefault(icPrint, LOGPIXELSY, 300);
+ if (emulateScreenRes) /* for emulation of the screen resolution */
+ {
scNX = WinGetHorzResolution(); /* all the deviceCaps will be scaled */
- scNY = WinGetVertResolution();
- scDX = xResolution;
- scDY = yResolution;
- }
- else
- { scNX = 1; scNY = 1; scDX = 1; scDY = 1; };
+ scNY = WinGetVertResolution();
+ scDX = xResolution;
+ scDY = yResolution;
+ }
+ else
+ { scNX = 1; scNY = 1; scDX = 1; scDY = 1; };
- horPaperPixels = (GetDeviceCapsWithDefault(icPrint, PHYSICALWIDTH, 2246)*scNX)/scDX;
- verPaperPixels = (GetDeviceCapsWithDefault(icPrint, PHYSICALHEIGHT, 3250)*scNY)/scDY;
+ horPaperPixels = (GetDeviceCapsWithDefault(icPrint, PHYSICALWIDTH, 2246)*scNX)/scDX;
+ verPaperPixels = (GetDeviceCapsWithDefault(icPrint, PHYSICALHEIGHT, 3250)*scNY)/scDY;
- *maxX = (GetDeviceCapsWithDefault(icPrint, HORZRES, 2241)*scNX)/scDX;
- *maxY = (GetDeviceCapsWithDefault(icPrint, VERTRES, 3254)*scNY)/scDY;
+ *maxX = (GetDeviceCapsWithDefault(icPrint, HORZRES, 2241)*scNX)/scDX;
+ *maxY = (GetDeviceCapsWithDefault(icPrint, VERTRES, 3254)*scNY)/scDY;
*leftPaper = (-GetDeviceCapsWithDefault(icPrint, PHYSICALOFFSETX, 116)*scNX)/scDX;
- *topPaper = (-GetDeviceCapsWithDefault(icPrint, PHYSICALOFFSETY, 129)*scNY)/scDY;
- *rightPaper = horPaperPixels - *leftPaper;
- *bottomPaper = verPaperPixels - *topPaper;
-
- if (emulateScreenRes)
- { *xRes = scNX; *yRes = scNY; }
- else
- { *xRes = xResolution ; *yRes = yResolution; };
- DeleteDC(icPrint);
+ *topPaper = (-GetDeviceCapsWithDefault(icPrint, PHYSICALOFFSETY, 129)*scNY)/scDY;
+ *rightPaper = horPaperPixels - *leftPaper;
+ *bottomPaper = verPaperPixels - *topPaper;
+
+ if (emulateScreenRes)
+ { *xRes = scNX; *yRes = scNY; }
+ else
+ { *xRes = xResolution ; *yRes = yResolution; };
+ DeleteDC(icPrint);
#endif
}
static HANDLE setupDevnames(int deviceLength,int driverLength,int outputLength,
- char *device,char *driver,char *output)
+ char *device,char *driver,char *output)
{
- HANDLE hDevnames;
+ HANDLE hDevnames;
#if 0
- DEVNAMES *pDevnames;
- hDevnames = (HANDLE) LocalAlloc(LMEM_MOVEABLE, 16+deviceLength+driverLength+outputLength);
- pDevnames = LocalLock(hDevnames);
- pDevnames->wDriverOffset = 16;
- pDevnames->wDeviceOffset = 16+driverLength;
- pDevnames->wOutputOffset = 16+driverLength+deviceLength;
- pDevnames->wDefault = 0;
- strcpy(((char*)pDevnames)+pDevnames->wDriverOffset, driver);
- strcpy(((char*)pDevnames)+pDevnames->wDeviceOffset, device);
- strcpy(((char*)pDevnames)+pDevnames->wOutputOffset, output);
- LocalUnlock(hDevnames);
+ DEVNAMES *pDevnames;
+ hDevnames = (HANDLE) LocalAlloc(LMEM_MOVEABLE, 16+deviceLength+driverLength+outputLength);
+ pDevnames = LocalLock(hDevnames);
+ pDevnames->wDriverOffset = 16;
+ pDevnames->wDeviceOffset = 16+driverLength;
+ pDevnames->wOutputOffset = 16+driverLength+deviceLength;
+ pDevnames->wDefault = 0;
+ strcpy(((char*)pDevnames)+pDevnames->wDriverOffset, driver);
+ strcpy(((char*)pDevnames)+pDevnames->wDeviceOffset, device);
+ strcpy(((char*)pDevnames)+pDevnames->wOutputOffset, output);
+ LocalUnlock(hDevnames);
#endif
- return hDevnames;
+ return hDevnames;
}
static HANDLE setupDevmode(int size, char *pData)
{
- HANDLE hDevmode;
+ HANDLE hDevmode;
#if 0
- DEVMODE *pDevmode;
+ DEVMODE *pDevmode;
- hDevmode = (HANDLE) LocalAlloc(LMEM_MOVEABLE, size);
- pDevmode = LocalLock(hDevmode);
- memcpy((char*)pDevmode, pData, size);
- LocalUnlock(hDevmode);
+ hDevmode = (HANDLE) LocalAlloc(LMEM_MOVEABLE, size);
+ pDevmode = LocalLock(hDevmode);
+ memcpy((char*)pDevmode, pData, size);
+ LocalUnlock(hDevmode);
#endif
- return hDevmode;
+ return hDevmode;
}
void get_printSetup_with_PRINTDLG(PRINTDLG *pd, char **o_devmode,
- char **o_device, char **o_driver, char **o_output)
+ char **o_device, char **o_driver, char **o_output)
{
#if 0
- char *newDriver, *newDevice, *newOutput;
- DEVMODE *pDevmode;
- DEVNAMES *pDevnames;
-
- pDevmode = LocalLock(pd->hDevMode);
- *o_devmode = g_strdup(pDevmode->dmDeviceName);
- LocalUnlock(pd->hDevMode);
- pDevnames = LocalLock(pd->hDevNames);
- newDriver = ((char*)pDevnames)+(pDevnames->wDriverOffset);
- newDevice = ((char*)pDevnames)+(pDevnames->wDeviceOffset);
- newOutput = ((char*)pDevnames)+(pDevnames->wOutputOffset);
- *o_driver = g_strdup(newDriver);
- *o_device = g_strdup(newDevice);
- *o_output = g_strdup(newOutput);
- LocalUnlock(pd->hDevNames);
+ char *newDriver, *newDevice, *newOutput;
+ DEVMODE *pDevmode;
+ DEVNAMES *pDevnames;
+
+ pDevmode = LocalLock(pd->hDevMode);
+ *o_devmode = g_strdup(pDevmode->dmDeviceName);
+ LocalUnlock(pd->hDevMode);
+ pDevnames = LocalLock(pd->hDevNames);
+ newDriver = ((char*)pDevnames)+(pDevnames->wDriverOffset);
+ newDevice = ((char*)pDevnames)+(pDevnames->wDeviceOffset);
+ newOutput = ((char*)pDevnames)+(pDevnames->wOutputOffset);
+ *o_driver = g_strdup(newDriver);
+ *o_device = g_strdup(newDevice);
+ *o_output = g_strdup(newOutput);
+ LocalUnlock(pd->hDevNames);
#endif
}
/* PA: called in Clean. */
int release_memory_handles(PRINTDLG *pd, int os) {
#if 0
- LocalFree(pd->hDevNames);
- LocalFree(pd->hDevMode);
+ LocalFree(pd->hDevNames);
+ LocalFree(pd->hDevMode);
#endif
- return os;
- }
+ return os;
+ }
/*
* This function hooks the Print dialog. It's purpose is to set the dialog in
@@ -209,66 +209,66 @@ static UINT APIENTRY DialogToFrontHook(HWND hdl, UINT msg, WPARAM wParam, LPARAM {
#if 0
if (msg==WM_INITDIALOG)
- { SetForegroundWindow(hdl);
- };
+ { SetForegroundWindow(hdl);
+ };
#endif
- return FALSE;
+ return FALSE;
}
void printSetup(int calledFromCleanThread, int devmodeSize,
- char *devmode, char *device, char *driver, char *output,
- int *ok, PRINTDLG **pdPtr)
+ char *devmode, char *device, char *driver, char *output,
+ int *ok, PRINTDLG **pdPtr)
{
#if 0
- int deviceLength, driverLength, outputLength;
- HANDLE hDevnames,hDevmode;
- static PRINTDLG pd;
+ int deviceLength, driverLength, outputLength;
+ HANDLE hDevnames,hDevmode;
+ static PRINTDLG pd;
- /* Set up DEVNAMES structure */
+ /* Set up DEVNAMES structure */
- /*rMessageBox(NULL, MB_APPLMODAL, "in printSetup", ""); */
- deviceLength = strlen(device)+1;
- driverLength = strlen(driver)+1;
- outputLength = strlen(output)+1;
+ /*rMessageBox(NULL, MB_APPLMODAL, "in printSetup", ""); */
+ deviceLength = strlen(device)+1;
+ driverLength = strlen(driver)+1;
+ outputLength = strlen(output)+1;
- hDevnames = setupDevnames(deviceLength,driverLength,outputLength,device,driver,output);
+ hDevnames = setupDevnames(deviceLength,driverLength,outputLength,device,driver,output);
- /* Set up DEVMODE structure */
- hDevmode = setupDevmode(devmodeSize,devmode);
+ /* Set up DEVMODE structure */
+ hDevmode = setupDevmode(devmodeSize,devmode);
- /* Set up print dialog record */
- pd.lStructSize = sizeof(PRINTDLG);
- pd.hwndOwner = calledFromCleanThread ? NULL : ghMainWindow; /* (NULL = desktop) */
+ /* Set up print dialog record */
+ pd.lStructSize = sizeof(PRINTDLG);
+ pd.hwndOwner = calledFromCleanThread ? NULL : ghMainWindow; /* (NULL = desktop) */
/* pd.hwndOwner = NULL; // (NULL = desktop) */
- /*
+ /*
* The handle must belong to the active thread, otherwise PrintDlg
* will crash. When this function is called from the Clean thread,
* ghMainWindow will not belong to the active thread.
*/
- pd.hDevMode = hDevmode;
- pd.hDevNames = hDevnames;
- pd.hDC = NULL;
- pd.Flags = PD_PRINTSETUP | PD_ENABLESETUPHOOK;
- pd.nFromPage = 1;
- pd.nToPage = 1;
- pd.nMinPage = 1;
- pd.nMaxPage = USHRT_MAX;
- pd.nCopies = 1;
- pd.hInstance = NULL;
- pd.lCustData = 0L;
- pd.lpfnPrintHook = NULL;
- pd.lpfnSetupHook = DialogToFrontHook;
- pd.lpPrintTemplateName = NULL;
- pd.lpSetupTemplateName = NULL;
- pd.hPrintTemplate = NULL;
- pd.hSetupTemplate = NULL;
-
- /* Open print dialog */
- *ok = PrintDlg(&pd);
- *pdPtr = &pd;
-
- if (hDevnames!=pd.hDevNames) LocalFree(hDevnames);
- if (hDevmode!=pd.hDevMode) LocalFree(hDevmode);
+ pd.hDevMode = hDevmode;
+ pd.hDevNames = hDevnames;
+ pd.hDC = NULL;
+ pd.Flags = PD_PRINTSETUP | PD_ENABLESETUPHOOK;
+ pd.nFromPage = 1;
+ pd.nToPage = 1;
+ pd.nMinPage = 1;
+ pd.nMaxPage = USHRT_MAX;
+ pd.nCopies = 1;
+ pd.hInstance = NULL;
+ pd.lCustData = 0L;
+ pd.lpfnPrintHook = NULL;
+ pd.lpfnSetupHook = DialogToFrontHook;
+ pd.lpPrintTemplateName = NULL;
+ pd.lpSetupTemplateName = NULL;
+ pd.hPrintTemplate = NULL;
+ pd.hSetupTemplate = NULL;
+
+ /* Open print dialog */
+ *ok = PrintDlg(&pd);
+ *pdPtr = &pd;
+
+ if (hDevnames!=pd.hDevNames) LocalFree(hDevnames);
+ if (hDevmode!=pd.hDevMode) LocalFree(hDevmode);
#endif
}
@@ -276,8 +276,8 @@ void printSetup(int calledFromCleanThread, int devmodeSize, int startPage(int hdc)
{
#if 0
- /*rMessageBox(NULL, MB_APPLMODAL, "in startPage", ""); */
- return StartPage((HDC) hdc) > 0;
+ /*rMessageBox(NULL, MB_APPLMODAL, "in startPage", ""); */
+ return StartPage((HDC) hdc) > 0;
#else
return 0;
#endif
@@ -286,23 +286,23 @@ int startPage(int hdc) int endPage(int hdc)
{
#if 0
- /*rMessageBox(NULL, MB_APPLMODAL, "in endPage", ""); */
- return EndPage((HDC) hdc) > 0;
+ /*rMessageBox(NULL, MB_APPLMODAL, "in endPage", ""); */
+ return EndPage((HDC) hdc) > 0;
#else
return 0;
#endif
}
int startDoc(int hdc)
- /* err code: >0:no error, <=0: user cancelled file dialog */
+ /* err code: >0:no error, <=0: user cancelled file dialog */
{
#if 0
- static DOCINFO docInfo = { sizeof (DOCINFO), "Clean", NULL, NULL, 0 } ;
+ static DOCINFO docInfo = { sizeof (DOCINFO), "Clean", NULL, NULL, 0 } ;
- /*rMessageBox(NULL, MB_APPLMODAL, "in startDoc", "");*/
- bUserAbort = FALSE ;
+ /*rMessageBox(NULL, MB_APPLMODAL, "in startDoc", "");*/
+ bUserAbort = FALSE ;
- return StartDoc((HDC) hdc, &docInfo);
+ return StartDoc((HDC) hdc, &docInfo);
#else
return 0;
#endif
@@ -311,27 +311,27 @@ int startDoc(int hdc) void endDoc(int hdc)
{
#if 0
- /*rMessageBox(NULL, MB_APPLMODAL, "in endDoc", ""); */
- if (bUserAbort)
- AbortDoc((HDC) hdc);
- else
- EndDoc((HDC) hdc);
+ /*rMessageBox(NULL, MB_APPLMODAL, "in endDoc", ""); */
+ if (bUserAbort)
+ AbortDoc((HDC) hdc);
+ else
+ EndDoc((HDC) hdc);
#endif
}
void deleteDC(int hdc)
{
#if 0
- /*rMessageBox(NULL, MB_APPLMODAL, "in deleteDC", ""); */
- DeleteDC((HDC) hdc);
+ /*rMessageBox(NULL, MB_APPLMODAL, "in deleteDC", ""); */
+ DeleteDC((HDC) hdc);
#endif
}
int wasCanceled(void)
{
#if 0
- /*rMessageBox(NULL, MB_APPLMODAL, "in wasCanceled", ""); */
- return bUserAbort;
+ /*rMessageBox(NULL, MB_APPLMODAL, "in wasCanceled", ""); */
+ return bUserAbort;
#else
return 0;
#endif
@@ -343,116 +343,116 @@ int wasCanceled(void) /* c-strings are passed to this function ! */
void getDC( int doDialog, int emulateScreen, int calledFromCleanThread, int devmodeLength,
- char *devmode,char *device,char *driver,char *output,
- int *err,
- int *first, int *last, int *copies,
- PRINTDLG **ppPrintDlg,
- int *deviceContext
- )
- /* err code: -1:no error, others: non fatal error */
+ char *devmode,char *device,char *driver,char *output,
+ int *err,
+ int *first, int *last, int *copies,
+ PRINTDLG **ppPrintDlg,
+ int *deviceContext
+ )
+ /* err code: -1:no error, others: non fatal error */
{
#if 0
- static PRINTDLG pd;
- HDC hdcPrint;
- int ok;
+ static PRINTDLG pd;
+ HDC hdcPrint;
+ int ok;
- *err = -1;
+ *err = -1;
- if (doDialog)
- { /* Set up print dialog record */
- HANDLE hDevnames, hDevmode;
- int deviceLength,driverLength,outputLength;
+ if (doDialog)
+ { /* Set up print dialog record */
+ HANDLE hDevnames, hDevmode;
+ int deviceLength,driverLength,outputLength;
- deviceLength = strlen(device)+1;
- driverLength = strlen(driver)+1;
- outputLength = strlen(output)+1;
+ deviceLength = strlen(device)+1;
+ driverLength = strlen(driver)+1;
+ outputLength = strlen(output)+1;
- hDevnames = setupDevnames(deviceLength,driverLength,outputLength,
- device,driver,output);
- hDevmode = setupDevmode(devmodeLength,devmode);
+ hDevnames = setupDevnames(deviceLength,driverLength,outputLength,
+ device,driver,output);
+ hDevmode = setupDevmode(devmodeLength,devmode);
- pd.lStructSize = sizeof(PRINTDLG);
- pd.hwndOwner = calledFromCleanThread ? NULL : ghMainWindow; /* (NULL = desktop) */
- /*
+ pd.lStructSize = sizeof(PRINTDLG);
+ pd.hwndOwner = calledFromCleanThread ? NULL : ghMainWindow; /* (NULL = desktop) */
+ /*
* The handle must belong to the active thread, otherwise PrintDlg
* will crash. When this function is called from the Clean thread,
* ghMainWindow will not belong to the active thread.
*/
- pd.hDevMode = hDevmode;
- pd.hDevNames = hDevnames;
- pd.hDC = NULL;
- pd.Flags = PD_ALLPAGES | PD_COLLATE | PD_RETURNDC | PD_NOSELECTION
- | PD_ENABLEPRINTHOOK;
- /* hide some options from print dialog */
- pd.nFromPage = 1;
- pd.nToPage = 1;
- pd.nMinPage = 1;
- pd.nMaxPage = USHRT_MAX;
- pd.nCopies = 1;
- pd.hInstance = NULL;
- pd.lCustData = 0L;
- pd.lpfnPrintHook = DialogToFrontHook;
- pd.lpfnSetupHook = NULL;
- pd.lpPrintTemplateName = NULL;
- pd.lpSetupTemplateName = NULL;
- pd.hPrintTemplate = NULL;
- pd.hSetupTemplate = NULL;
-
- /* Open print dialog */
-
- ok = PrintDlg(&pd);
-
- if (hDevnames!=pd.hDevNames) LocalFree(hDevnames);
- if (hDevmode!=pd.hDevMode) LocalFree(hDevmode);
-
- if (!ok)
- {
- *err = CommDlgExtendedError(); /* will return 0 iff user canceled, otherwise positive value */
- release_memory_handles(&pd, 0);
- return;
- }
-
-
- if (pd.Flags & PD_PAGENUMS)
- { *first = pd.nFromPage;
- *last = pd.nToPage;
- }
- else
- { *first = 1;
- *last = 9999;
- };
- *copies = pd.nCopies;
- *ppPrintDlg = &pd;
- hdcPrint = pd.hDC;
- }
-
- else
-
- {
- hdcPrint = CreateDC(driver, device, output, NULL);
- if (hdcPrint==NULL)
- { *err = 0; /* non fatal error, iff e.g. no printer driver is installed */
- return;
- };
- *first = 1;
- *last = 9999;
- *copies = 1;
- *ppPrintDlg = NULL;
- };
-
- if (emulateScreen)
- { int pXdpi,pYdpi,sXdpi,sYdpi;
- pXdpi = GetDeviceCaps(hdcPrint, LOGPIXELSX);
- pYdpi = GetDeviceCaps(hdcPrint, LOGPIXELSY);
- sXdpi = WinGetHorzResolution();
- sYdpi = WinGetVertResolution();
- SetMapMode(hdcPrint, MM_ISOTROPIC);
- SetWindowExtEx (hdcPrint,sXdpi, sYdpi, NULL);
- SetViewportExtEx(hdcPrint,pXdpi, pYdpi, NULL);
- };
-
- *deviceContext = (int) hdcPrint;
- /*rMessageBox(NULL, MB_APPLMODAL, "leaving getDC","");*/
+ pd.hDevMode = hDevmode;
+ pd.hDevNames = hDevnames;
+ pd.hDC = NULL;
+ pd.Flags = PD_ALLPAGES | PD_COLLATE | PD_RETURNDC | PD_NOSELECTION
+ | PD_ENABLEPRINTHOOK;
+ /* hide some options from print dialog */
+ pd.nFromPage = 1;
+ pd.nToPage = 1;
+ pd.nMinPage = 1;
+ pd.nMaxPage = USHRT_MAX;
+ pd.nCopies = 1;
+ pd.hInstance = NULL;
+ pd.lCustData = 0L;
+ pd.lpfnPrintHook = DialogToFrontHook;
+ pd.lpfnSetupHook = NULL;
+ pd.lpPrintTemplateName = NULL;
+ pd.lpSetupTemplateName = NULL;
+ pd.hPrintTemplate = NULL;
+ pd.hSetupTemplate = NULL;
+
+ /* Open print dialog */
+
+ ok = PrintDlg(&pd);
+
+ if (hDevnames!=pd.hDevNames) LocalFree(hDevnames);
+ if (hDevmode!=pd.hDevMode) LocalFree(hDevmode);
+
+ if (!ok)
+ {
+ *err = CommDlgExtendedError(); /* will return 0 iff user canceled, otherwise positive value */
+ release_memory_handles(&pd, 0);
+ return;
+ }
+
+
+ if (pd.Flags & PD_PAGENUMS)
+ { *first = pd.nFromPage;
+ *last = pd.nToPage;
+ }
+ else
+ { *first = 1;
+ *last = 9999;
+ };
+ *copies = pd.nCopies;
+ *ppPrintDlg = &pd;
+ hdcPrint = pd.hDC;
+ }
+
+ else
+
+ {
+ hdcPrint = CreateDC(driver, device, output, NULL);
+ if (hdcPrint==NULL)
+ { *err = 0; /* non fatal error, iff e.g. no printer driver is installed */
+ return;
+ };
+ *first = 1;
+ *last = 9999;
+ *copies = 1;
+ *ppPrintDlg = NULL;
+ };
+
+ if (emulateScreen)
+ { int pXdpi,pYdpi,sXdpi,sYdpi;
+ pXdpi = GetDeviceCaps(hdcPrint, LOGPIXELSX);
+ pYdpi = GetDeviceCaps(hdcPrint, LOGPIXELSY);
+ sXdpi = WinGetHorzResolution();
+ sYdpi = WinGetVertResolution();
+ SetMapMode(hdcPrint, MM_ISOTROPIC);
+ SetWindowExtEx (hdcPrint,sXdpi, sYdpi, NULL);
+ SetViewportExtEx(hdcPrint,pXdpi, pYdpi, NULL);
+ };
+
+ *deviceContext = (int) hdcPrint;
+ /*rMessageBox(NULL, MB_APPLMODAL, "leaving getDC","");*/
#endif
}
@@ -474,7 +474,7 @@ BOOL CALLBACK PrintDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) return TRUE ;
}
return FALSE;
- }
+ }
BOOL CALLBACK AbortProc (HDC hdcPrn, int iCode)
{
@@ -495,106 +495,106 @@ BOOL CALLBACK AbortProc (HDC hdcPrn, int iCode) #define DIALOG_WIDTH 100
#define DIALOG_HEIGHT 60
- /* in dialog units */
+ /* in dialog units */
#if 0
HWND CreateCancelDialog(void)
{
- HWND hwndButton,dlgHdl;
-
- WORD *p, *pdlgtemplate,baseunitX,baseunitY;
- int nchar;
- int scrnWidth,scrnHeight;
- int buttonX, buttonY, buttonWidth, buttonHeight;
- int textX, textY, textWidth, textHeight;
- DWORD lStyle,baseunits;
- HDC screen;
- LOGFONT lf;
-
- /* allocate some memory to play with */
- pdlgtemplate = p = (PWORD) rmalloc (1000);
-
- screen = CreateDC ("DISPLAY", NULL, NULL, NULL);
- scrnWidth = GetDeviceCaps (screen, HORZRES);
- scrnHeight = GetDeviceCaps (screen, VERTRES);
- DeleteDC (screen);
- baseunits = GetDialogBaseUnits();
-
- /* start to fill in the dlgtemplate information. addressing by WORDs */
- lStyle = WS_CAPTION | DS_MODALFRAME | WS_SYSMENU;
-
- baseunitX=LOWORD(baseunits);
- baseunitY=HIWORD(baseunits);
-
- *p++ = LOWORD (lStyle);
- *p++ = HIWORD (lStyle);
- *p++ = 0; /* LOWORD (lExtendedStyle) */
- *p++ = 0; /* HIWORD (lExtendedStyle) */
- *p++ = 0; /* NumberOfItems */
- *p++ = ((scrnWidth*4)/3)/baseunitX; /* x */
- *p++ = ((scrnHeight*8)/3)/baseunitY; /* y */
- *p++ = DIALOG_WIDTH; /* cx */
- *p++ = DIALOG_HEIGHT; /* cy */
- *p++ = 0; /* Menu */
- *p++ = 0; /* Class */
-
- /* copy the title of the dialog */
- nchar = NULL; /*nCopyAnsiToWideChar (p, (char *) "Printing in Progress");*/
- p += nchar;
-
- dlgHdl = CreateDialogIndirectParam (ghInst, (LPDLGTEMPLATE) pdlgtemplate, ghMainWindow,
- (DLGPROC) PrintDlgProc, (LPARAM) 0);
-
- rfree(pdlgtemplate);
-
- /* Add a text field */
- textWidth = 19*baseunitX;
- textHeight = baseunitY;
- textX = (((DIALOG_WIDTH*baseunitX)/4) - textWidth)
- / 2;
- textY = (((DIALOG_HEIGHT*baseunitY)/8) - textHeight)
- / 4;
- hwndText = CreateWindow ("static", "",WS_VISIBLE | WS_CHILD | SS_CENTER,
- textX, textY, textWidth, textHeight,
- dlgHdl, (HMENU) 0, ghInst, 0);
-
-
- /* Add a Cancel button: */
- buttonWidth = 10*baseunitX;
- buttonHeight = (3*baseunitY)/2;
- buttonX = (((DIALOG_WIDTH*baseunitX)/4) - buttonWidth)
- / 2;
- buttonY = (3 * (((DIALOG_HEIGHT*baseunitY)/8) - buttonHeight))
- / 5;
- hwndButton = CreateWindow ("button", "Cancel", WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON,
- buttonX, buttonY, buttonWidth, buttonHeight,
- dlgHdl, (HMENU) 0, ghInst, 0);
+ HWND hwndButton,dlgHdl;
+
+ WORD *p, *pdlgtemplate,baseunitX,baseunitY;
+ int nchar;
+ int scrnWidth,scrnHeight;
+ int buttonX, buttonY, buttonWidth, buttonHeight;
+ int textX, textY, textWidth, textHeight;
+ DWORD lStyle,baseunits;
+ HDC screen;
+ LOGFONT lf;
+
+ /* allocate some memory to play with */
+ pdlgtemplate = p = (PWORD) rmalloc (1000);
+
+ screen = CreateDC ("DISPLAY", NULL, NULL, NULL);
+ scrnWidth = GetDeviceCaps (screen, HORZRES);
+ scrnHeight = GetDeviceCaps (screen, VERTRES);
+ DeleteDC (screen);
+ baseunits = GetDialogBaseUnits();
+
+ /* start to fill in the dlgtemplate information. addressing by WORDs */
+ lStyle = WS_CAPTION | DS_MODALFRAME | WS_SYSMENU;
+
+ baseunitX=LOWORD(baseunits);
+ baseunitY=HIWORD(baseunits);
+
+ *p++ = LOWORD (lStyle);
+ *p++ = HIWORD (lStyle);
+ *p++ = 0; /* LOWORD (lExtendedStyle) */
+ *p++ = 0; /* HIWORD (lExtendedStyle) */
+ *p++ = 0; /* NumberOfItems */
+ *p++ = ((scrnWidth*4)/3)/baseunitX; /* x */
+ *p++ = ((scrnHeight*8)/3)/baseunitY; /* y */
+ *p++ = DIALOG_WIDTH; /* cx */
+ *p++ = DIALOG_HEIGHT; /* cy */
+ *p++ = 0; /* Menu */
+ *p++ = 0; /* Class */
+
+ /* copy the title of the dialog */
+ nchar = NULL; /*nCopyAnsiToWideChar (p, (char *) "Printing in Progress");*/
+ p += nchar;
+
+ dlgHdl = CreateDialogIndirectParam (ghInst, (LPDLGTEMPLATE) pdlgtemplate, ghMainWindow,
+ (DLGPROC) PrintDlgProc, (LPARAM) 0);
+
+ rfree(pdlgtemplate);
+
+ /* Add a text field */
+ textWidth = 19*baseunitX;
+ textHeight = baseunitY;
+ textX = (((DIALOG_WIDTH*baseunitX)/4) - textWidth)
+ / 2;
+ textY = (((DIALOG_HEIGHT*baseunitY)/8) - textHeight)
+ / 4;
+ hwndText = CreateWindow ("static", "",WS_VISIBLE | WS_CHILD | SS_CENTER,
+ textX, textY, textWidth, textHeight,
+ dlgHdl, (HMENU) 0, ghInst, 0);
+
+
+ /* Add a Cancel button: */
+ buttonWidth = 10*baseunitX;
+ buttonHeight = (3*baseunitY)/2;
+ buttonX = (((DIALOG_WIDTH*baseunitX)/4) - buttonWidth)
+ / 2;
+ buttonY = (3 * (((DIALOG_HEIGHT*baseunitY)/8) - buttonHeight))
+ / 5;
+ hwndButton = CreateWindow ("button", "Cancel", WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON,
+ buttonX, buttonY, buttonWidth, buttonHeight,
+ dlgHdl, (HMENU) 0, ghInst, 0);
/* WinSetFont (&lf,"MS Sans Serif",0,8); */
- SendMessage(hwndButton,WM_SETFONT,(WPARAM)CreateFontIndirect (&lf),MAKELPARAM (TRUE,0));
- SendMessage(hwndText,WM_SETFONT,(WPARAM)CreateFontIndirect (&lf),MAKELPARAM (TRUE,0));
+ SendMessage(hwndButton,WM_SETFONT,(WPARAM)CreateFontIndirect (&lf),MAKELPARAM (TRUE,0));
+ SendMessage(hwndText,WM_SETFONT,(WPARAM)CreateFontIndirect (&lf),MAKELPARAM (TRUE,0));
- ShowWindow (dlgHdl,SW_SHOWNORMAL);
- return dlgHdl;
+ ShowWindow (dlgHdl,SW_SHOWNORMAL);
+ return dlgHdl;
}
#endif
/* PA: Called in Clean. */
int addSemaphor(int add)
{
- int old=semaphor;
- semaphor+=add;
- return old;
+ int old=semaphor;
+ semaphor+=add;
+ return old;
}
int os_printsetupvalidC(DEVMODE *devmode, char *device, char *driver)
{
#if 0
- HDC icPrint;
+ HDC icPrint;
- icPrint = myCreateIC(driver,device,devmode);
- if (icPrint)
- DeleteDC(icPrint);
- return icPrint!=NULL;
+ icPrint = myCreateIC(driver,device,devmode);
+ if (icPrint)
+ DeleteDC(icPrint);
+ return icPrint!=NULL;
#else
return 0;
#endif
diff --git a/Linux_C_12/cprinter_121.h b/Linux_C_12/cprinter_121.h index 384abe1..069ffee 100644 --- a/Linux_C_12/cprinter_121.h +++ b/Linux_C_12/cprinter_121.h @@ -6,30 +6,30 @@ extern int startPage(int hdc);
extern int endPage (int hdc);
extern int startDoc (int hdc);
- /* returns err code: >0:no error, <=0: user cancelled file dialog */
+ /* returns err code: >0:no error, <=0: user cancelled file dialog */
extern void endDoc (int hdc);
extern void deleteDC(int hdc);
extern int wasCanceled(void);
extern void printSetup (int calledFromCleanThread, int devmodeSize,
- char *devmode, char *device, char *driver, char *output,
- int *ok, PRINTDLG **pdPtr
- );
+ char *devmode, char *device, char *driver, char *output,
+ int *ok, PRINTDLG **pdPtr
+ );
extern void getDC( int doDialog, int emulateScreen, int calledFromCleanThread, int devmodeLength,
- char *devmode,char *device,char *driver,char *output,
- int *err,
- int *first, int *last, int *copies,
- PRINTDLG **ppPrintDlg,
- int *deviceContext
- );
- /* err code: -1:no error, others: non fatal error */
+ char *devmode,char *device,char *driver,char *output,
+ int *err,
+ int *first, int *last, int *copies,
+ PRINTDLG **ppPrintDlg,
+ int *deviceContext
+ );
+ /* err code: -1:no error, others: non fatal error */
extern void get_printSetup_with_PRINTDLG(PRINTDLG *pd, char **o_devmode,
- char **o_device, char **o_driver, char **o_output);
+ char **o_device, char **o_driver, char **o_output);
extern void getCaps(HDC hdcPrint, int unq,
- int *maxX, int *maxY,
- int *leftPaper, int *topPaper,
- int *rightPaper, int *bottomPaper,
- int *unqReturn
- );
+ int *maxX, int *maxY,
+ int *leftPaper, int *topPaper,
+ int *rightPaper, int *bottomPaper,
+ int *unqReturn
+ );
extern BOOL CALLBACK AbortProc (HDC hdcPrn, int iCode);
extern BOOL CALLBACK PrintDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam);
diff --git a/Linux_C_12/util_121.c b/Linux_C_12/util_121.c index 89d5b4f..7d533aa 100644 --- a/Linux_C_12/util_121.c +++ b/Linux_C_12/util_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:
- Generally applicable utility routines.
+ About this module:
+ Generally applicable utility routines.
********************************************************************************************/
#include "util_121.h"
#include "Clean.h"
@@ -20,41 +20,41 @@ /*
void SetLogFontData (LOGFONT * plf, char *fname, int style, int size)
{
- plf->lfHeight = -size;
- plf->lfWeight = (style & iBold) ? 700 : 400;
- plf->lfItalic = (style & iItalic) ? TRUE : FALSE;
- plf->lfUnderline = (style & iUnderline) ? TRUE : FALSE;
- plf->lfStrikeOut = (style & iStrikeOut) ? TRUE : FALSE;
-
- rscopy (plf->lfFaceName, fname);
-
- plf->lfWidth = 0;
- plf->lfEscapement = 0;
- plf->lfOrientation = 0;
- plf->lfCharSet = DEFAULT_CHARSET;
- plf->lfOutPrecision = OUT_DEFAULT_PRECIS;
- plf->lfClipPrecision = CLIP_DEFAULT_PRECIS;
- plf->lfQuality = DEFAULT_QUALITY;
- plf->lfPitchAndFamily = DEFAULT_PITCH | FF_DONTCARE;
+ plf->lfHeight = -size;
+ plf->lfWeight = (style & iBold) ? 700 : 400;
+ plf->lfItalic = (style & iItalic) ? TRUE : FALSE;
+ plf->lfUnderline = (style & iUnderline) ? TRUE : FALSE;
+ plf->lfStrikeOut = (style & iStrikeOut) ? TRUE : FALSE;
+
+ rscopy (plf->lfFaceName, fname);
+
+ plf->lfWidth = 0;
+ plf->lfEscapement = 0;
+ plf->lfOrientation = 0;
+ plf->lfCharSet = DEFAULT_CHARSET;
+ plf->lfOutPrecision = OUT_DEFAULT_PRECIS;
+ plf->lfClipPrecision = CLIP_DEFAULT_PRECIS;
+ plf->lfQuality = DEFAULT_QUALITY;
+ plf->lfPitchAndFamily = DEFAULT_PITCH | FF_DONTCARE;
}*/ /* SetLogFontData */
/* since we don't use the C runtime library, here are some simple
- routines that would normally come from the C runtime lib.
+ routines that would normally come from the C runtime lib.
*/
HGLOBAL rmalloc (DWORD bytes)
{
- HGLOBAL ptr;
+ HGLOBAL ptr;
printf("rmalloc\n");
ptr = malloc(bytes);
- if (!ptr)
- {
+ if (!ptr)
+ {
rprintf("Out of memory\n");
exit(1);
- }
+ }
- return ptr;
+ return ptr;
} /* rmalloc */
void rfree (HGLOBAL ptr)
@@ -65,183 +65,183 @@ void rfree (HGLOBAL ptr) int rstrlen (char *s)
{
- int l;
+ int l;
printf("rstrlen\n");
- for (l = 0; s[l] != 0; l++)
- ;
- return l;
+ for (l = 0; s[l] != 0; l++)
+ ;
+ return l;
} /* rstrlen */
void rsncopy (char *d, const char *s, int n)
{
- int i;
+ int i;
printf("rsncopy\n");
- for (i = 0; i < n; i++)
- {
- d[i] = s[i];
- }
+ for (i = 0; i < n; i++)
+ {
+ d[i] = s[i];
+ }
} /* rsncopy */
void rscopy (char *d, const char *s)
{
- int i;
+ int i;
printf("rscopy\n");
- for (i = 0; s[i] != 0; i++)
- {
- d[i] = s[i];
- }
- d[i] = s[i];
+ for (i = 0; s[i] != 0; i++)
+ {
+ d[i] = s[i];
+ }
+ d[i] = s[i];
} /* rscopy */
BOOL strequal (char *s1, char *s2)
{
- int i = 0;
+ int i = 0;
printf("strequal\n");
- while (s1[i] == s2[i])
- {
- if (s1[i] == 0)
- return TRUE;
- i++;
- }
- return FALSE;
+ while (s1[i] == s2[i])
+ {
+ if (s1[i] == 0)
+ return TRUE;
+ i++;
+ }
+ return FALSE;
} /* strequal */
BOOL nstrequal (int length, char *s1, char *s2)
{
- int i = 0;
+ int i = 0;
printf("nstrequal\n");
- while (s1[i] == s2[i])
- {
- if (i >= length)
- return TRUE;
- i++;
- }
- return FALSE;
+ while (s1[i] == s2[i])
+ {
+ if (i >= length)
+ return TRUE;
+ i++;
+ }
+ return FALSE;
} /* nstrequal */
int rabs (int i)
{
printf("rabs\n");
- if (i < 0)
- return -i;
- else
- return i;
+ if (i < 0)
+ return -i;
+ else
+ return i;
} /* rabs */
/* clean_strings don't have to end with 0, so we have to make
- copy the clean string and end it with a 0.
- global variables used for conversion from c strings to clean strings
+ copy the clean string and end it with a 0.
+ global variables used for conversion from c strings to clean strings
*/
char * cstring (CLEAN_STRING s)
{
char* chars = rmalloc(CleanStringLength(s) + 1);
- static char *cstr = (char*) NULL;
- cstr = rmalloc(CleanStringLength(s) + 1 + sizeof(int));
+ static char *cstr = (char*) NULL;
+ cstr = rmalloc(CleanStringLength(s) + 1 + sizeof(int));
- int i;
- for (i=0;i < CleanStringLength(s); i++)
- chars[i] = CleanStringCharacters(s)[i];
- chars[i] = 0;
+ int i;
+ for (i=0;i < CleanStringLength(s); i++)
+ chars[i] = CleanStringCharacters(s)[i];
+ chars[i] = 0;
- rsncopy(cstr, chars, CleanStringLength(s) + 1);
+ rsncopy(cstr, chars, CleanStringLength(s) + 1);
- return cstr;
+ return cstr;
} /* cstring */
CLEAN_STRING cleanstring (char *s)
{
- static CLEAN_STRING result_clean_string = NULL;
+ static CLEAN_STRING result_clean_string = NULL;
rprintf("[cleanstring: ");
- if (result_clean_string)
- rfree (result_clean_string);
+ if (result_clean_string)
+ rfree (result_clean_string);
if (! s)
{
return NULL;
}
- result_clean_string = (CLEAN_STRING) rmalloc (sizeof (int) + rstrlen (s) +1);
- result_clean_string->length = rstrlen (s);
- rsncopy (result_clean_string->characters, s, rstrlen (s) + 1);
+ result_clean_string = (CLEAN_STRING) rmalloc (sizeof (int) + rstrlen (s) +1);
+ result_clean_string->length = rstrlen (s);
+ rsncopy (result_clean_string->characters, s, rstrlen (s) + 1);
rprintf("%s", s);
rprintf("]\n");
- return result_clean_string;
+ return result_clean_string;
} /* cleanstring */
OS WinReleaseCString (PSTR cs, OS ios)
{
- rprintf("(RCS: \"%s\"", cs);
+ rprintf("(RCS: \"%s\"", cs);
- if (cs)
+ if (cs)
{
- rfree (cs);
+ rfree (cs);
}
- rprintf(")\n");
+ rprintf(")\n");
- return ios;
+ return ios;
} /* WinReleaseCString */
void WinGetCString (PSTR cs, OS ios, CLEAN_STRING * cls, OS * oos)
{
- rprintf("<Gcs");
+ rprintf("<Gcs");
- *cls = cleanstring (cs);
- *oos = ios;
- rprintf(">\n");
+ *cls = cleanstring (cs);
+ *oos = ios;
+ rprintf(">\n");
} /* WinGetCString */
void WinGetCStringAndFree (PSTR cs, OS ios, CLEAN_STRING * cls, OS * oos)
{
- rprintf("{GcsF");
- *cls = cleanstring (cs);
- *oos = ios;
- rfree (cs);
- rprintf("}\n");
+ rprintf("{GcsF");
+ *cls = cleanstring (cs);
+ *oos = ios;
+ rfree (cs);
+ rprintf("}\n");
} /* WinGetCStringAndFree */
void WinMakeCString (CLEAN_STRING s, OS ios, PSTR * cs, OS * oos)
{
- char* chars = rmalloc(CleanStringLength(s) + 1);
- rprintf("(MCS: \"");
- *cs = (char*) rmalloc (CleanStringLength(s) + 1 + sizeof(int));
+ char* chars = rmalloc(CleanStringLength(s) + 1);
+ rprintf("(MCS: \"");
+ *cs = (char*) rmalloc (CleanStringLength(s) + 1 + sizeof(int));
- rprintf("length: %d\n", CleanStringLength(s));
+ rprintf("length: %d\n", CleanStringLength(s));
- int i;
- for (i = 0; i < CleanStringLength(s); i++)
- chars[i] = CleanStringCharacters(s)[i];
- chars[i] = 0;
+ int i;
+ for (i = 0; i < CleanStringLength(s); i++)
+ chars[i] = CleanStringCharacters(s)[i];
+ chars[i] = 0;
- rsncopy (*cs, chars, CleanStringLength(s) + 1);
- (*cs)[CleanStringLength(s) + 1] = CleanStringLength(s);
+ rsncopy (*cs, chars, CleanStringLength(s) + 1);
+ (*cs)[CleanStringLength(s) + 1] = CleanStringLength(s);
- *oos = ios;
+ *oos = ios;
rprintf("\"%s)\n",chars);
} /* WinMakeCString */
int nCopyAnsiToWideChar (LPWORD lpWCStr, LPSTR lpAnsiIn)
{
- int nChar = 0;
+ int nChar = 0;
printf("nCopyAnsiToWideChar\n");
- do
- {
- *lpWCStr++ = (WORD) * lpAnsiIn;
- nChar++;
- } while (*lpAnsiIn++);
+ do
+ {
+ *lpWCStr++ = (WORD) * lpAnsiIn;
+ nChar++;
+ } while (*lpAnsiIn++);
- return nChar;
+ return nChar;
} /* nCopyAnsiToWideChar */
/* The following routines are used to write to the console, or convey runtime errors
- with message boxes.
+ with message boxes.
*/
static char mbuff[_RPRINTBUFSIZE];
@@ -252,114 +252,114 @@ static HANDLE hLogFile = NULL; void rprintf (char *format,...)
{
- va_list arglist;
- int len;
- int cWritten;
-
- if (!LogFileInited)
- {
- hLogFile = CreateFile (LOGFILE, /* filename */
- GENERIC_WRITE, /* acces mode */
- 0, /* share mode */
- NULL, /* security */
- CREATE_ALWAYS, /* how to create */
- FILE_ATTRIBUTE_NORMAL, /* file attributes */
- NULL); /* template file */
- if (hLogFile == INVALID_HANDLE_VALUE)
- {
- MessageBox (NULL, "Could not open logfile.", NULL, MB_OK | MB_ICONSTOP);
- ExitProcess (1);
- };
- LogFileInited = TRUE;
- }
-
- va_start (arglist, format);
- len = sprintf (mbuff, format, arglist);
- va_end (arglist);
-
- if (!WriteFile (hLogFile, /* output handle */
- mbuff, /* prompt string */
- len, /* string length */
- &cWritten, /* bytes written */
- NULL)) /* not overlapped */
- {
- MessageBox (NULL, "Cannot write to stdout --write error.", NULL, MB_OK | MB_ICONSTOP);
- return;
- };
+ va_list arglist;
+ int len;
+ int cWritten;
+
+ if (!LogFileInited)
+ {
+ hLogFile = CreateFile (LOGFILE, /* filename */
+ GENERIC_WRITE, /* acces mode */
+ 0, /* share mode */
+ NULL, /* security */
+ CREATE_ALWAYS, /* how to create */
+ FILE_ATTRIBUTE_NORMAL, /* file attributes */
+ NULL); /* template file */
+ if (hLogFile == INVALID_HANDLE_VALUE)
+ {
+ MessageBox (NULL, "Could not open logfile.", NULL, MB_OK | MB_ICONSTOP);
+ ExitProcess (1);
+ };
+ LogFileInited = TRUE;
+ }
+
+ va_start (arglist, format);
+ len = sprintf (mbuff, format, arglist);
+ va_end (arglist);
+
+ if (!WriteFile (hLogFile, /* output handle */
+ mbuff, /* prompt string */
+ len, /* string length */
+ &cWritten, /* bytes written */
+ NULL)) /* not overlapped */
+ {
+ MessageBox (NULL, "Cannot write to stdout --write error.", NULL, MB_OK | MB_ICONSTOP);
+ return;
+ };
} /* rprintf */
#endif
/*
* void rMessageBox (HWND owner, UINT style, char *title, char *format,...)
{
- va_list arglist;
+ va_list arglist;
- va_start (arglist, format);
- wvsprintf (mbuff, format, arglist);
- va_end (arglist);
+ va_start (arglist, format);
+ wvsprintf (mbuff, format, arglist);
+ va_end (arglist);
- MessageBox (owner, mbuff, title, style);
+ MessageBox (owner, mbuff, title, style);
}*/ /* rMessageBox */
void CheckF (BOOL theCheck, char *checkText, char *checkMess,
- char *filename, int linenum)
+ char *filename, int linenum)
{
printf("CheckF\n");
- if (!theCheck)
- {
+ if (!theCheck)
+ {
/* rMessageBox (NULL, MB_OK | MB_ICONSTOP,
- "Internal check failed", "%s\n\ncheck: %s\nfile: %s\nline: %d",
- checkMess, checkText, filename, linenum);
+ "Internal check failed", "%s\n\ncheck: %s\nfile: %s\nline: %d",
+ checkMess, checkText, filename, linenum);
*/
exit (1);
- }
+ }
} /* CheckF */
void ErrorExit (char *format,...)
{
- va_list arglist;
+ va_list arglist;
- va_start (arglist, format);
- sprintf (mbuff, format, arglist);
- va_end (arglist);
+ va_start (arglist, format);
+ sprintf (mbuff, format, arglist);
+ va_end (arglist);
- /*MessageBox (NULL, mbuff, NULL, MB_OK | MB_ICONSTOP);*/
+ /*MessageBox (NULL, mbuff, NULL, MB_OK | MB_ICONSTOP);*/
rprintf("%s", mbuff);
exit (1);
} /* ErrorExit */
void DumpMem (int *ptr, int lines)
{
- char *cp;
- int i, j, k;
-
- rprintf ("DUMP FROM %d\n", ptr);
-
- for (i = 0; i < lines; i++)
- {
- /*rprintf ("%4d: ", i);*/
- cp = (char *) ptr;
- for (j = 0; j < 4; j++)
- {
- /*rprintf ("%08x ", *ptr);*/
- ptr++;
- };
- /*rprintf ("- ");*/
- for (j = 0; j < 4; j++)
- {
- for (k = 0; k < 4; k++)
- {
- char c;
- c = *cp;
- if (c < 32 || c > 127)
- c = '.';
- /*rprintf ("%C", c);*/
- cp++;
- };
- /*rprintf (" ");*/
- };
- /*rprintf ("\n");*/
- }
+ char *cp;
+ int i, j, k;
+
+ rprintf ("DUMP FROM %d\n", ptr);
+
+ for (i = 0; i < lines; i++)
+ {
+ /*rprintf ("%4d: ", i);*/
+ cp = (char *) ptr;
+ for (j = 0; j < 4; j++)
+ {
+ /*rprintf ("%08x ", *ptr);*/
+ ptr++;
+ };
+ /*rprintf ("- ");*/
+ for (j = 0; j < 4; j++)
+ {
+ for (k = 0; k < 4; k++)
+ {
+ char c;
+ c = *cp;
+ if (c < 32 || c > 127)
+ c = '.';
+ /*rprintf ("%C", c);*/
+ cp++;
+ };
+ /*rprintf (" ");*/
+ };
+ /*rprintf ("\n");*/
+ }
} /* DumpMem */
/*-----------------------------------
@@ -367,194 +367,194 @@ void DumpMem (int *ptr, int lines) *-----------------------------------*/
char * BOOLstring (BOOL b)
{
- if (b)
- return "TRUE";
- else
- return "FALSE";
+ if (b)
+ return "TRUE";
+ else
+ return "FALSE";
} /* BOOLstring */
void printCCI (CrossCallInfo * pcci)
{
- switch (pcci->mess)
- {
- case CcRETURN0:
- {
- rprintf ("CcRETURN0");
- } break;
- case CcRETURN1:
- {
- rprintf ("CcRETURN1");
- } break;
- case CcRETURN2:
- {
- rprintf ("CcRETURN2");
- } break;
- case CcRETURN3:
- {
- rprintf ("CcRETURN3");
- } break;
- case CcRETURN4:
- {
- rprintf ("CcRETURN4");
- } break;
- case CcRETURN5:
- {
- rprintf ("CcRETURN5");
- } break;
- case CcWmPAINT: /* hwnd, t,l,r,b; no return value. */
- {
- rprintf ("CcWmPAINT");
- } break;
- case CcWmCREATE: /* hwnd; no return value. */
- {
- rprintf ("CcWmCREATE");
- } break;
- case CcWmCHAR:
- {
- rprintf ("CcWmCHAR");
- } break;
- case CcWmCOMMAND: /* HITEM; no return value. */
- {
- rprintf ("CcWmCOMMAND");
- } break;
- case CcWmCLOSE: /* hwnd; no return value. */
- {
- rprintf ("CcWmCLOSE");
- } break;
- case CcWmACTIVATE: /* hwnd; no return value. */
- {
- rprintf ("CcWmACTIVATE");
- } break;
- case CcWmDEACTIVATE: /* hwnd; no return value. */
- {
- rprintf ("CcWmDEACTIVATE");
- } break;
- case CcWmKEYBOARD: /* hwnd, charcode, keystate, mods; no return
- value. */
- {
- rprintf ("CcWmKEYBOARD");
- } break;
- case CcWmMOUSE: /* hwnd, mousestate, x, y, mods; no return
- value. */
- {
- rprintf ("CcWmMOUSE");
- } break;
- case CcWmSIZE: /* width, heigth; */
- {
- rprintf ("CcWmSIZE");
- } break;
- case CcWmGETHSCROLLVAL: /* hwnd; scroll value return. */
- {
- rprintf ("CcWmGETHSCROLLVAL");
- } break;
- case CcWmGETVSCROLLVAL: /* hwnd; scroll value return. */
- {
- rprintf ("CcWmGETVSCROLLVAL");
- } break;
- case CcWmNEWHTHUMB: /* hwnd, hthumb; no return value. */
- {
- rprintf ("CcWmNEWHTHUMB");
- } break;
- case CcWmNEWVTHUMB: /* hwnd, vthumb; no return value. */
- {
- rprintf ("CcWmNEWVTHUMB");
- } break;
- case CcWmTIMER: /* HITEM, tickcount; no return value. */
- {
- rprintf ("CcWmTIMER");
- } break;
- case CcWmIDLETIMER: /* no params; no return value. */
- {
- rprintf ("CcWmIDLETIMER");
- } break;
- case CcWmINITDIALOG: /* hdlg; x y w h hwnd result. */
- {
- rprintf ("CcWmINITDIALOG");
- } break;
- case CcWmBUTTONCLICKED: /* hdlg, hbut; no return value. */
- {
- rprintf ("CcWmBUTTONCLICKED");
- } break;
- /* case CcWmCOMBOSELECT: */ /* hwnd, combo, newsel; no return value. */
- /* {
- rprintf ("CcWmCOMBOSELECT");
- } break;*/
- case CcWmDRAWCONTROL: /* hdlog, hctrl, hdc, x,y, enabled; no return
- value. */
- {
- rprintf ("CcWmDRAWCONTROL");
- } break;
- /*case CcWmSETCURSOR:*/ /* hwnd; cursor code return. */
- /* {
- rprintf ("CcWmSETCURSOR");
- } break;*/
- /* case CcWmLOSEMODELESSDLOG:*/ /* hwnd; bool return value. */
- /* {
- rprintf ("CcWmLOSEMODELESSDLOG");
- } break;*/
- /* case CcRqBEEP: */ /* no params; no result. */
- /* {
- rprintf ("CcRqBEEP");
- } break; */
- case CcRqDOMESSAGE: /* no params; no result */
- {
- rprintf ("CcRqDOMESSAGE");
- } break;
- case CcRqINSERTMENUITEM: /* on/off, hmenu, textptr, marked,
- pos; HITEM result. */
- {
- rprintf ("CcRqINSERTMENUITEM");
- } break;
- case CcRqCHECKMENUITEM: /* menu, HITEM, on/off; no result. */
- {
- rprintf ("CcRqCHECKMENUITEM");
- } break;
- case CcRqREMOVEMENUITEM: /* menu, HITEM; no result. */
- {
- rprintf ("CcRqREMOVEMENUITEM");
- } break;
- case CcRqMODIFYMENUITEM: /* HITEM, on/off, hmenu, textptr,
- marked; no result. */
- {
- rprintf ("CcRqMODIFYMENUITEM");
- } break;
- case CcRqITEMENABLE: /* parent, HITEM, onoff; no result. */
- {
- rprintf ("CcRqITEMENABLE");
- } break;
- case CcRqMODIFYMENU: /* on/off, hmenu, textptr, hsubmenu, pos; no
- result. */
- {
- rprintf ("CcRqMODIFYMENU");
- } break;
- case CcRqMENUENABLE: /* parent, pos, onoff; no result. */
- {
- rprintf ("CcRqMENUENABLE");
- } break;
- case CcRqINSERTSEPARATOR: /* hmenu, pos; no result. */
- {
- rprintf ("CcRqINSERTSEPARATOR");
- } break;
- case CcRqCREATEPOPMENU: /* no params; HMENU result. */
- {
- rprintf ("CcRqCREATEPOPMENU");
- } break;
- case CcRqDRAWMBAR: /* no params; no result. */
- {
- rprintf ("CcRqDRAWMBAR");
- } break;
- case CcRqDESTROYWINDOW: /* hwnd; no result. */
- {
- rprintf ("CcRqDESTROYWINDOW");
- } break;
- case CcRqBEGINPAINT: /* hwnd; HDC result. */
- {
- rprintf ("CcRqBEGINPAINT");
- } break;
- case CcRqENDPAINT: /* hwnd, hdc; no result. */
- {
- rprintf ("CcRqENDPAINT");
- } break;
+ switch (pcci->mess)
+ {
+ case CcRETURN0:
+ {
+ rprintf ("CcRETURN0");
+ } break;
+ case CcRETURN1:
+ {
+ rprintf ("CcRETURN1");
+ } break;
+ case CcRETURN2:
+ {
+ rprintf ("CcRETURN2");
+ } break;
+ case CcRETURN3:
+ {
+ rprintf ("CcRETURN3");
+ } break;
+ case CcRETURN4:
+ {
+ rprintf ("CcRETURN4");
+ } break;
+ case CcRETURN5:
+ {
+ rprintf ("CcRETURN5");
+ } break;
+ case CcWmPAINT: /* hwnd, t,l,r,b; no return value. */
+ {
+ rprintf ("CcWmPAINT");
+ } break;
+ case CcWmCREATE: /* hwnd; no return value. */
+ {
+ rprintf ("CcWmCREATE");
+ } break;
+ case CcWmCHAR:
+ {
+ rprintf ("CcWmCHAR");
+ } break;
+ case CcWmCOMMAND: /* HITEM; no return value. */
+ {
+ rprintf ("CcWmCOMMAND");
+ } break;
+ case CcWmCLOSE: /* hwnd; no return value. */
+ {
+ rprintf ("CcWmCLOSE");
+ } break;
+ case CcWmACTIVATE: /* hwnd; no return value. */
+ {
+ rprintf ("CcWmACTIVATE");
+ } break;
+ case CcWmDEACTIVATE: /* hwnd; no return value. */
+ {
+ rprintf ("CcWmDEACTIVATE");
+ } break;
+ case CcWmKEYBOARD: /* hwnd, charcode, keystate, mods; no return
+ value. */
+ {
+ rprintf ("CcWmKEYBOARD");
+ } break;
+ case CcWmMOUSE: /* hwnd, mousestate, x, y, mods; no return
+ value. */
+ {
+ rprintf ("CcWmMOUSE");
+ } break;
+ case CcWmSIZE: /* width, heigth; */
+ {
+ rprintf ("CcWmSIZE");
+ } break;
+ case CcWmGETHSCROLLVAL: /* hwnd; scroll value return. */
+ {
+ rprintf ("CcWmGETHSCROLLVAL");
+ } break;
+ case CcWmGETVSCROLLVAL: /* hwnd; scroll value return. */
+ {
+ rprintf ("CcWmGETVSCROLLVAL");
+ } break;
+ case CcWmNEWHTHUMB: /* hwnd, hthumb; no return value. */
+ {
+ rprintf ("CcWmNEWHTHUMB");
+ } break;
+ case CcWmNEWVTHUMB: /* hwnd, vthumb; no return value. */
+ {
+ rprintf ("CcWmNEWVTHUMB");
+ } break;
+ case CcWmTIMER: /* HITEM, tickcount; no return value. */
+ {
+ rprintf ("CcWmTIMER");
+ } break;
+ case CcWmIDLETIMER: /* no params; no return value. */
+ {
+ rprintf ("CcWmIDLETIMER");
+ } break;
+ case CcWmINITDIALOG: /* hdlg; x y w h hwnd result. */
+ {
+ rprintf ("CcWmINITDIALOG");
+ } break;
+ case CcWmBUTTONCLICKED: /* hdlg, hbut; no return value. */
+ {
+ rprintf ("CcWmBUTTONCLICKED");
+ } break;
+ /* case CcWmCOMBOSELECT: */ /* hwnd, combo, newsel; no return value. */
+ /* {
+ rprintf ("CcWmCOMBOSELECT");
+ } break;*/
+ case CcWmDRAWCONTROL: /* hdlog, hctrl, hdc, x,y, enabled; no return
+ value. */
+ {
+ rprintf ("CcWmDRAWCONTROL");
+ } break;
+ /*case CcWmSETCURSOR:*/ /* hwnd; cursor code return. */
+ /* {
+ rprintf ("CcWmSETCURSOR");
+ } break;*/
+ /* case CcWmLOSEMODELESSDLOG:*/ /* hwnd; bool return value. */
+ /* {
+ rprintf ("CcWmLOSEMODELESSDLOG");
+ } break;*/
+ /* case CcRqBEEP: */ /* no params; no result. */
+ /* {
+ rprintf ("CcRqBEEP");
+ } break; */
+ case CcRqDOMESSAGE: /* no params; no result */
+ {
+ rprintf ("CcRqDOMESSAGE");
+ } break;
+ case CcRqINSERTMENUITEM: /* on/off, hmenu, textptr, marked,
+ pos; HITEM result. */
+ {
+ rprintf ("CcRqINSERTMENUITEM");
+ } break;
+ case CcRqCHECKMENUITEM: /* menu, HITEM, on/off; no result. */
+ {
+ rprintf ("CcRqCHECKMENUITEM");
+ } break;
+ case CcRqREMOVEMENUITEM: /* menu, HITEM; no result. */
+ {
+ rprintf ("CcRqREMOVEMENUITEM");
+ } break;
+ case CcRqMODIFYMENUITEM: /* HITEM, on/off, hmenu, textptr,
+ marked; no result. */
+ {
+ rprintf ("CcRqMODIFYMENUITEM");
+ } break;
+ case CcRqITEMENABLE: /* parent, HITEM, onoff; no result. */
+ {
+ rprintf ("CcRqITEMENABLE");
+ } break;
+ case CcRqMODIFYMENU: /* on/off, hmenu, textptr, hsubmenu, pos; no
+ result. */
+ {
+ rprintf ("CcRqMODIFYMENU");
+ } break;
+ case CcRqMENUENABLE: /* parent, pos, onoff; no result. */
+ {
+ rprintf ("CcRqMENUENABLE");
+ } break;
+ case CcRqINSERTSEPARATOR: /* hmenu, pos; no result. */
+ {
+ rprintf ("CcRqINSERTSEPARATOR");
+ } break;
+ case CcRqCREATEPOPMENU: /* no params; HMENU result. */
+ {
+ rprintf ("CcRqCREATEPOPMENU");
+ } break;
+ case CcRqDRAWMBAR: /* no params; no result. */
+ {
+ rprintf ("CcRqDRAWMBAR");
+ } break;
+ case CcRqDESTROYWINDOW: /* hwnd; no result. */
+ {
+ rprintf ("CcRqDESTROYWINDOW");
+ } break;
+ case CcRqBEGINPAINT: /* hwnd; HDC result. */
+ {
+ rprintf ("CcRqBEGINPAINT");
+ } break;
+ case CcRqENDPAINT: /* hwnd, hdc; no result. */
+ {
+ rprintf ("CcRqENDPAINT");
+ } break;
case CcRqSETSCROLLPOS:
{
rprintf("CcRqSETSCROLLPOS");
@@ -567,1023 +567,1023 @@ void printCCI (CrossCallInfo * pcci) {
rprintf("CcRqSETSCROLLSIZE");
} break;
- /*case CcRqGETDC:*/ /* hwnd; HDC result. */
- /* {
- rprintf ("CcRqGETDC");
- } break; */
- /*case CcRqRELEASEDC: */ /* hwnd, hdc; no result. */
- /* {
- rprintf ("CcRqRELEASEDC");
- } break; */
- /* case CcRqINVALIDATEWINDOW: */ /* hwnd; no result. */
- /* {
- rprintf ("CcRqINVALIDATEWINDOW");
- } break; */
- case CcRqSETWINDOWTITLE: /* hwnd, textptr; no result. */
- {
- rprintf ("CcRqSETWINDOWTITLE");
- } break;
- case CcRqGETWINDOWTEXT: /* hwnd; textptr result. */
- {
- rprintf ("CcRqGETWINDOWTEXT");
- } break;
- case CcRqGETCLIENTSIZE: /* hwnd; width, height result. */
- {
- rprintf ("CcRqGETCLIENTSIZE");
- } break;
- case CcRqGETWINDOWPOS: /* hwnd; left, top result. */
- {
- rprintf ("CcRqGETWINDOWPOS");
- } break;
- case CcRqCHANGEWINDOWCURSOR: /* hwnd, cursor code; no result. */
- {
- rprintf ("CcRqCHANGEWINDOWCURSOR");
- } break;
- case CcRqOBSCURECURSOR: /* no params; no result. */
- {
- rprintf ("CcRqOBSCURECURSOR");
- } break;
- /*case CcRqSETGLOBALCURSOR:*/ /* cursorcode; no result. */
- /* {
- rprintf ("CcRqSETGLOBALCURSOR");
- } break;*/
- /*case CcRqRESETCURSOR:*/ /* no params; no result. */
- /* {
- rprintf ("CcRqRESETCURSOR");
- } break; */
- case CcRqGETFONTNAMES: /* no params; no result. */
- {
- rprintf ("CcRqGETFONTNAMES");
- } break;
- case CcRqGETFONTSIZES: /* textptr; no result. */
- {
- rprintf ("CcRqGETFONTSIZES");
- } break;
- case CcCbFONTNAME: /* textptr; no result. */
- {
- rprintf ("CcCbFONTNAME");
- } break;
- case CcCbFONTSIZE: /* size, isTrueType; no result. */
- {
- rprintf ("CcCbFONTSIZE");
- } break;
- /*case CcRqGETCURTIME:*/ /* no params; hours, minutes, seconds. */
- /* {
- rprintf ("CcRqGETCURTIME");
- } break;*/
- /*case CcRqGETCURDATE:*/ /* no params; year, month, day, weekday. */
- /* {
- rprintf ("CcRqGETCURDATE");
- } break; */
- /*case CcRqWAIT:*/ /* milliseconds; no result. */
- /* {
- rprintf ("CcRqWAIT");
- } break;*/
- /*case CcRqGETBLINKTIME:*/ /* no params; millisec result. */
- /* {
- rprintf ("CcRqGETBLINKTIME");
- } break;*/
- case CcRqCREATEDIALOG: /* textptr; HWND result. */
- {
- rprintf ("CcRqCREATEDIALOG");
- } break;
- case CcRqCREATEBUTTON: /* hwnd, x,y,w,h, isdefbut; HWND result. */
- {
- rprintf ("CcRqCREATEBUTTON");
- } break;
- case CcRqCREATESTATICTXT: /* hwnd, x,y,w,h; HWND result. */
- {
- rprintf ("CcRqCREATESTATICTXT");
- } break;
- case CcRqCREATEEDITTXT: /* hwnd, x,y,w,h, ismultiline; HWND
- result. */
- {
- rprintf ("CcRqCREATEEDITTXT");
- } break;
- case CcRqCREATERADIOBUT: /* hwnd, x,y,w,h, isselected; HWND
- result. */
- {
- rprintf ("CcRqCREATERADIOBUT");
- } break;
- case CcRqCREATECHECKBOX: /* hwnd, x,y,w,h, isselected; HWND
- result. */
- {
- rprintf ("CcRqCREATECHECKBOX");
- } break;
- case CcRqCREATEPOPUP: /* hwnd, x,y,w,h; HWND result. */
- {
- rprintf ("CcRqCREATEPOPUP");
- } break;
- case CcRqCREATEICONBUT: /* hwnd, x,y,w,h; HWND result. */
- {
- rprintf ("CcRqCREATEICONBUT");
- } break;
- case CcRqCREATECUSTOM: /* hwnd, x,y,w,h; HWND result. */
- {
- rprintf ("CcRqCREATECUSTOM");
- } break;
- case CcRqENABLECONTROL: /* hwnd, bool; no result. */
- {
- rprintf ("CcRqENABLECONTROL");
- } break;
- case CcRqSETITEMCHECK: /* hwnd, bool; no result. */
- {
- rprintf ("CcRqSETITEMCHECK");
- } break;
- case CcRqADDTOPOPUP: /* hwnd, textptr, enabled, selected; Pos
- result. */
- {
- rprintf ("CcRqADDTOPOPUP");
- } break;
- case CcRqENABLEPOPUPITEM: /* hwnd, pos, enabled; no result. */
- {
- rprintf ("CcRqENABLEPOPUPITEM");
- } break;
- case CcRqSELECTPOPUPITEM: /* hwnd, pos; no result. */
- {
- rprintf ("CcRqSELECTPOPUPITEM");
- } break;
- case CcRqFILEOPENDIALOG: /* no params; bool, textptr result; */
- {
- rprintf ("CcRqFILEOPENDIALOG");
- } break;
- case CcRqFILESAVEDIALOG: /* promptptr, nameptr; bool, textptr
- result; */
- {
- rprintf ("CcRqFILESAVEDIALOG");
- } break;
- case CcRqSETCLIPBOARDTEXT: /* textptr; no result. */
- {
- rprintf ("CcRqSETCLIPBOARDTEXT");
- } break;
- case CcRqGETCLIPBOARDTEXT: /* no params; textptr result. */
- {
- rprintf ("CcRqGETCLIPBOARDTEXT");
- } break;
- case CcRqCLIPBOARDHASTEXT: /* no params; bool result. */
- {
- rprintf ("CcRqCLIPBOARDHASTEXT");
- } break;
- default:
- {
- rprintf ("Unknown CCI: %d", pcci->mess);
- } break;
- }
+ /*case CcRqGETDC:*/ /* hwnd; HDC result. */
+ /* {
+ rprintf ("CcRqGETDC");
+ } break; */
+ /*case CcRqRELEASEDC: */ /* hwnd, hdc; no result. */
+ /* {
+ rprintf ("CcRqRELEASEDC");
+ } break; */
+ /* case CcRqINVALIDATEWINDOW: */ /* hwnd; no result. */
+ /* {
+ rprintf ("CcRqINVALIDATEWINDOW");
+ } break; */
+ case CcRqSETWINDOWTITLE: /* hwnd, textptr; no result. */
+ {
+ rprintf ("CcRqSETWINDOWTITLE");
+ } break;
+ case CcRqGETWINDOWTEXT: /* hwnd; textptr result. */
+ {
+ rprintf ("CcRqGETWINDOWTEXT");
+ } break;
+ case CcRqGETCLIENTSIZE: /* hwnd; width, height result. */
+ {
+ rprintf ("CcRqGETCLIENTSIZE");
+ } break;
+ case CcRqGETWINDOWPOS: /* hwnd; left, top result. */
+ {
+ rprintf ("CcRqGETWINDOWPOS");
+ } break;
+ case CcRqCHANGEWINDOWCURSOR: /* hwnd, cursor code; no result. */
+ {
+ rprintf ("CcRqCHANGEWINDOWCURSOR");
+ } break;
+ case CcRqOBSCURECURSOR: /* no params; no result. */
+ {
+ rprintf ("CcRqOBSCURECURSOR");
+ } break;
+ /*case CcRqSETGLOBALCURSOR:*/ /* cursorcode; no result. */
+ /* {
+ rprintf ("CcRqSETGLOBALCURSOR");
+ } break;*/
+ /*case CcRqRESETCURSOR:*/ /* no params; no result. */
+ /* {
+ rprintf ("CcRqRESETCURSOR");
+ } break; */
+ case CcRqGETFONTNAMES: /* no params; no result. */
+ {
+ rprintf ("CcRqGETFONTNAMES");
+ } break;
+ case CcRqGETFONTSIZES: /* textptr; no result. */
+ {
+ rprintf ("CcRqGETFONTSIZES");
+ } break;
+ case CcCbFONTNAME: /* textptr; no result. */
+ {
+ rprintf ("CcCbFONTNAME");
+ } break;
+ case CcCbFONTSIZE: /* size, isTrueType; no result. */
+ {
+ rprintf ("CcCbFONTSIZE");
+ } break;
+ /*case CcRqGETCURTIME:*/ /* no params; hours, minutes, seconds. */
+ /* {
+ rprintf ("CcRqGETCURTIME");
+ } break;*/
+ /*case CcRqGETCURDATE:*/ /* no params; year, month, day, weekday. */
+ /* {
+ rprintf ("CcRqGETCURDATE");
+ } break; */
+ /*case CcRqWAIT:*/ /* milliseconds; no result. */
+ /* {
+ rprintf ("CcRqWAIT");
+ } break;*/
+ /*case CcRqGETBLINKTIME:*/ /* no params; millisec result. */
+ /* {
+ rprintf ("CcRqGETBLINKTIME");
+ } break;*/
+ case CcRqCREATEDIALOG: /* textptr; HWND result. */
+ {
+ rprintf ("CcRqCREATEDIALOG");
+ } break;
+ case CcRqCREATEBUTTON: /* hwnd, x,y,w,h, isdefbut; HWND result. */
+ {
+ rprintf ("CcRqCREATEBUTTON");
+ } break;
+ case CcRqCREATESTATICTXT: /* hwnd, x,y,w,h; HWND result. */
+ {
+ rprintf ("CcRqCREATESTATICTXT");
+ } break;
+ case CcRqCREATEEDITTXT: /* hwnd, x,y,w,h, ismultiline; HWND
+ result. */
+ {
+ rprintf ("CcRqCREATEEDITTXT");
+ } break;
+ case CcRqCREATERADIOBUT: /* hwnd, x,y,w,h, isselected; HWND
+ result. */
+ {
+ rprintf ("CcRqCREATERADIOBUT");
+ } break;
+ case CcRqCREATECHECKBOX: /* hwnd, x,y,w,h, isselected; HWND
+ result. */
+ {
+ rprintf ("CcRqCREATECHECKBOX");
+ } break;
+ case CcRqCREATEPOPUP: /* hwnd, x,y,w,h; HWND result. */
+ {
+ rprintf ("CcRqCREATEPOPUP");
+ } break;
+ case CcRqCREATEICONBUT: /* hwnd, x,y,w,h; HWND result. */
+ {
+ rprintf ("CcRqCREATEICONBUT");
+ } break;
+ case CcRqCREATECUSTOM: /* hwnd, x,y,w,h; HWND result. */
+ {
+ rprintf ("CcRqCREATECUSTOM");
+ } break;
+ case CcRqENABLECONTROL: /* hwnd, bool; no result. */
+ {
+ rprintf ("CcRqENABLECONTROL");
+ } break;
+ case CcRqSETITEMCHECK: /* hwnd, bool; no result. */
+ {
+ rprintf ("CcRqSETITEMCHECK");
+ } break;
+ case CcRqADDTOPOPUP: /* hwnd, textptr, enabled, selected; Pos
+ result. */
+ {
+ rprintf ("CcRqADDTOPOPUP");
+ } break;
+ case CcRqENABLEPOPUPITEM: /* hwnd, pos, enabled; no result. */
+ {
+ rprintf ("CcRqENABLEPOPUPITEM");
+ } break;
+ case CcRqSELECTPOPUPITEM: /* hwnd, pos; no result. */
+ {
+ rprintf ("CcRqSELECTPOPUPITEM");
+ } break;
+ case CcRqFILEOPENDIALOG: /* no params; bool, textptr result; */
+ {
+ rprintf ("CcRqFILEOPENDIALOG");
+ } break;
+ case CcRqFILESAVEDIALOG: /* promptptr, nameptr; bool, textptr
+ result; */
+ {
+ rprintf ("CcRqFILESAVEDIALOG");
+ } break;
+ case CcRqSETCLIPBOARDTEXT: /* textptr; no result. */
+ {
+ rprintf ("CcRqSETCLIPBOARDTEXT");
+ } break;
+ case CcRqGETCLIPBOARDTEXT: /* no params; textptr result. */
+ {
+ rprintf ("CcRqGETCLIPBOARDTEXT");
+ } break;
+ case CcRqCLIPBOARDHASTEXT: /* no params; bool result. */
+ {
+ rprintf ("CcRqCLIPBOARDHASTEXT");
+ } break;
+ default:
+ {
+ rprintf ("Unknown CCI: %d", pcci->mess);
+ } break;
+ }
} /* printCCI */
#ifdef LOGFILE
void printMessage (char *fname, HWND hWin, UINT uMess, WPARAM wPara, LPARAM lPara)
{
- switch (uMess)
- {
- case WM_ACTIVATE:
- {
- rprintf ("== %s got %s, hwnd = %d, ", fname, "WM_ACTIVATE", hWin);
- switch (LOWORD (wPara)) /* activation flag */
- {
- case WA_ACTIVE:
- rprintf ("fActive = WA_ACTIVE, ");
- break;
- case WA_CLICKACTIVE:
- rprintf ("fActive = WA_CLICKACTIVE, ");
- break;
- case WA_INACTIVE:
- rprintf ("fActive = WA_INACTIVE, ");
- break;
- }
- /*rprintf ("fMinimized = %s, ", BOOLstring ((BOOL) HIWORD (wPara))); minimized flag */
- rprintf ("other_hwnd = %d\n", lPara); /* window handle */
- } break;
- case WM_ACTIVATEAPP:
- {
- rprintf ("== %s got %s, hwnd = %d, fActive = %s, other_thread = %d\n", fname, "WM_ACTIVATEAPP", hWin, BOOLstring ((BOOL) wPara), lPara);
- } break;
- case WM_NCHITTEST:
- {
- } break;
- case WM_SETCURSOR:
- {
- } break;
- case WM_MOVE:
- {
- rprintf ("== %s got %s, hwnd = %d, x = %d, y = %d\n", fname, "WM_MOVE", hWin, LOWORD (lPara), HIWORD (lPara));
- } break;
- case WM_SIZE:
- {
- rprintf ("== %s got %s, hwnd = %d, wPara = ", fname, "WM_SIZE", hWin);
- switch (wPara)
- {
- case SIZE_MAXHIDE:
- rprintf ("SIZE_MAXHIDE");
- break;
- case SIZE_MAXIMIZED:
- rprintf ("SIZE_MAXIMIZED");
- break;
- case SIZE_MAXSHOW:
- rprintf ("SIZE_MAXSHOW");
- break;
- case SIZE_MINIMIZED:
- rprintf ("SIZE_MINIMIZED");
- break;
- case SIZE_RESTORED:
- rprintf ("SIZE_RESTORED");
- break;
- default:
- rprintf ("unknown");
- break;
- }
- rprintf (", width =%d, height = %d\n", LOWORD (lPara), HIWORD (lPara));
- } break;
- case WM_HSCROLL:
- {
- rprintf ("== %s got %s, hwnd = %d, ", fname, "WM_HSCROLL", hWin);
- switch ((int) LOWORD (wPara))
- {
- case SB_BOTTOM:
- rprintf ("scrollcode = SB_BOTTOM\n");
- break;
- case SB_ENDSCROLL:
- rprintf ("scrollcode = SB_ENDSCROLL\n");
- break;
- case SB_LINELEFT:
- rprintf ("scrollcode = SB_LINELEFT\n");
- break;
- case SB_LINERIGHT:
- rprintf ("scrollcode = SB_LINERIGHT\n");
- break;
- case SB_PAGELEFT:
- rprintf ("scrollcode = SB_PAGELEFT\n");
- break;
- case SB_PAGERIGHT:
- rprintf ("scrollcode = SB_PAGERIGHT\n");
- break;
- case SB_THUMBPOSITION:
- rprintf ("scrollcode = SB_THUMBPOSITION, nPos = %d\n", HIWORD (wPara));
- break;
- case SB_THUMBTRACK:
- rprintf ("scrollcode = SB_THUMBTRACK, nPos = %d\n", HIWORD (wPara));
- break;
- case SB_TOP:
- rprintf ("scrollcode = SB_TOP\n");
- break;
- }
- } break;
- case WM_VSCROLL:
- {
- rprintf ("== %s got %s, hwnd = %d, ", fname, "WM_VSCROLL", hWin);
-
- switch (LOWORD (wPara))
- {
- case SB_BOTTOM:
- rprintf ("scrollcode = SB_BOTTOM\n");
- break;
- case SB_ENDSCROLL:
- rprintf ("scrollcode = SB_ENDSCROLL\n");
- break;
- case SB_LINEDOWN:
- rprintf ("scrollcode = SB_LINEDOWN\n");
- break;
- case SB_LINEUP:
- rprintf ("scrollcode = SB_LINEUP\n");
- break;
- case SB_PAGEDOWN:
- rprintf ("scrollcode = SB_PAGEDOWN\n");
- break;
- case SB_PAGEUP:
- rprintf ("scrollcode = SB_PAGEUP\n");
- break;
- case SB_THUMBPOSITION:
- rprintf ("scrollcode = SB_THUMBPOSITION, nPos = %d\n", HIWORD (wPara));
- break;
- case SB_THUMBTRACK:
- rprintf ("scrollcode = SB_THUMBTRACK, nPos = %d\n", HIWORD (wPara));
- break;
- case SB_TOP:
- rprintf ("scrollcode = SB_TOP\n");
- break;
- }
- } break;
- case WM_TIMER:
- { /* rprintf("== %s got %s, hwnd = %d, wParam = %d\n", fname,
- "WM_TIMER", hWin, wPara); */
- } break;
- case WM_ENABLE:
- {
- rprintf ("== %s got %s, hwnd = %d, wParam = %s\n", fname, "WM_ENABLE", hWin, BOOLstring ((BOOL) wPara));
- } break;
- case WM_ENTERIDLE:
- { /* rprintf("== %s got %s, hwnd = %d\n", fname,
- "WM_ENTERIDLE", hWin); */
- } break;
- case WM_CHAR:
- {
- rprintf ("== %s got %s, hwnd = %d, char = \'%c\'[%d]\n", fname, "WM_CHAR", hWin, wPara, wPara);
- } break;
+ switch (uMess)
+ {
+ case WM_ACTIVATE:
+ {
+ rprintf ("== %s got %s, hwnd = %d, ", fname, "WM_ACTIVATE", hWin);
+ switch (LOWORD (wPara)) /* activation flag */
+ {
+ case WA_ACTIVE:
+ rprintf ("fActive = WA_ACTIVE, ");
+ break;
+ case WA_CLICKACTIVE:
+ rprintf ("fActive = WA_CLICKACTIVE, ");
+ break;
+ case WA_INACTIVE:
+ rprintf ("fActive = WA_INACTIVE, ");
+ break;
+ }
+ /*rprintf ("fMinimized = %s, ", BOOLstring ((BOOL) HIWORD (wPara))); minimized flag */
+ rprintf ("other_hwnd = %d\n", lPara); /* window handle */
+ } break;
+ case WM_ACTIVATEAPP:
+ {
+ rprintf ("== %s got %s, hwnd = %d, fActive = %s, other_thread = %d\n", fname, "WM_ACTIVATEAPP", hWin, BOOLstring ((BOOL) wPara), lPara);
+ } break;
+ case WM_NCHITTEST:
+ {
+ } break;
+ case WM_SETCURSOR:
+ {
+ } break;
+ case WM_MOVE:
+ {
+ rprintf ("== %s got %s, hwnd = %d, x = %d, y = %d\n", fname, "WM_MOVE", hWin, LOWORD (lPara), HIWORD (lPara));
+ } break;
+ case WM_SIZE:
+ {
+ rprintf ("== %s got %s, hwnd = %d, wPara = ", fname, "WM_SIZE", hWin);
+ switch (wPara)
+ {
+ case SIZE_MAXHIDE:
+ rprintf ("SIZE_MAXHIDE");
+ break;
+ case SIZE_MAXIMIZED:
+ rprintf ("SIZE_MAXIMIZED");
+ break;
+ case SIZE_MAXSHOW:
+ rprintf ("SIZE_MAXSHOW");
+ break;
+ case SIZE_MINIMIZED:
+ rprintf ("SIZE_MINIMIZED");
+ break;
+ case SIZE_RESTORED:
+ rprintf ("SIZE_RESTORED");
+ break;
+ default:
+ rprintf ("unknown");
+ break;
+ }
+ rprintf (", width =%d, height = %d\n", LOWORD (lPara), HIWORD (lPara));
+ } break;
+ case WM_HSCROLL:
+ {
+ rprintf ("== %s got %s, hwnd = %d, ", fname, "WM_HSCROLL", hWin);
+ switch ((int) LOWORD (wPara))
+ {
+ case SB_BOTTOM:
+ rprintf ("scrollcode = SB_BOTTOM\n");
+ break;
+ case SB_ENDSCROLL:
+ rprintf ("scrollcode = SB_ENDSCROLL\n");
+ break;
+ case SB_LINELEFT:
+ rprintf ("scrollcode = SB_LINELEFT\n");
+ break;
+ case SB_LINERIGHT:
+ rprintf ("scrollcode = SB_LINERIGHT\n");
+ break;
+ case SB_PAGELEFT:
+ rprintf ("scrollcode = SB_PAGELEFT\n");
+ break;
+ case SB_PAGERIGHT:
+ rprintf ("scrollcode = SB_PAGERIGHT\n");
+ break;
+ case SB_THUMBPOSITION:
+ rprintf ("scrollcode = SB_THUMBPOSITION, nPos = %d\n", HIWORD (wPara));
+ break;
+ case SB_THUMBTRACK:
+ rprintf ("scrollcode = SB_THUMBTRACK, nPos = %d\n", HIWORD (wPara));
+ break;
+ case SB_TOP:
+ rprintf ("scrollcode = SB_TOP\n");
+ break;
+ }
+ } break;
+ case WM_VSCROLL:
+ {
+ rprintf ("== %s got %s, hwnd = %d, ", fname, "WM_VSCROLL", hWin);
+
+ switch (LOWORD (wPara))
+ {
+ case SB_BOTTOM:
+ rprintf ("scrollcode = SB_BOTTOM\n");
+ break;
+ case SB_ENDSCROLL:
+ rprintf ("scrollcode = SB_ENDSCROLL\n");
+ break;
+ case SB_LINEDOWN:
+ rprintf ("scrollcode = SB_LINEDOWN\n");
+ break;
+ case SB_LINEUP:
+ rprintf ("scrollcode = SB_LINEUP\n");
+ break;
+ case SB_PAGEDOWN:
+ rprintf ("scrollcode = SB_PAGEDOWN\n");
+ break;
+ case SB_PAGEUP:
+ rprintf ("scrollcode = SB_PAGEUP\n");
+ break;
+ case SB_THUMBPOSITION:
+ rprintf ("scrollcode = SB_THUMBPOSITION, nPos = %d\n", HIWORD (wPara));
+ break;
+ case SB_THUMBTRACK:
+ rprintf ("scrollcode = SB_THUMBTRACK, nPos = %d\n", HIWORD (wPara));
+ break;
+ case SB_TOP:
+ rprintf ("scrollcode = SB_TOP\n");
+ break;
+ }
+ } break;
+ case WM_TIMER:
+ { /* rprintf("== %s got %s, hwnd = %d, wParam = %d\n", fname,
+ "WM_TIMER", hWin, wPara); */
+ } break;
+ case WM_ENABLE:
+ {
+ rprintf ("== %s got %s, hwnd = %d, wParam = %s\n", fname, "WM_ENABLE", hWin, BOOLstring ((BOOL) wPara));
+ } break;
+ case WM_ENTERIDLE:
+ { /* rprintf("== %s got %s, hwnd = %d\n", fname,
+ "WM_ENTERIDLE", hWin); */
+ } break;
+ case WM_CHAR:
+ {
+ rprintf ("== %s got %s, hwnd = %d, char = \'%c\'[%d]\n", fname, "WM_CHAR", hWin, wPara, wPara);
+ } break;
/*--------------------------------------------- */
- case WM_NULL:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NULL", hWin);
- } break;
- case WM_CREATE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CREATE", hWin);
- } break;
- case WM_DESTROY:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_DESTROY", hWin);
- } break;
- case WM_SETFOCUS:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SETFOCUS", hWin);
- } break;
- case WM_KILLFOCUS:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_KILLFOCUS", hWin);
- } break;
- case WM_SETREDRAW:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SETREDRAW", hWin);
- } break;
- case WM_SETTEXT:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SETTEXT", hWin);
- } break;
- case WM_GETTEXT:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_GETTEXT", hWin);
- } break;
- case WM_GETTEXTLENGTH:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_GETTEXTLENGTH", hWin);
- } break;
- case WM_PAINT:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_PAINT", hWin);
- } break;
- case WM_CLOSE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CLOSE", hWin);
- } break;
- case WM_QUERYENDSESSION:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_QUERYENDSESSION", hWin);
- } break;
- case WM_QUIT:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_QUIT", hWin);
- } break;
- case WM_QUERYOPEN:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_QUERYOPEN", hWin);
- } break;
- case WM_ERASEBKGND:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_ERASEBKGND", hWin);
- } break;
- case WM_SYSCOLORCHANGE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SYSCOLORCHANGE", hWin);
- } break;
- case WM_ENDSESSION:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_ENDSESSION", hWin);
- } break;
- case WM_SHOWWINDOW:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SHOWWINDOW", hWin);
- } break;
- case WM_SETTINGCHANGE: /* WM_WININICHANGE on NT */
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SETTINGCHANGE", hWin);
- } break;
- case WM_DEVMODECHANGE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_DEVMODECHANGE", hWin);
- } break;
- case WM_FONTCHANGE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_FONTCHANGE", hWin);
- } break;
- case WM_TIMECHANGE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_TIMECHANGE", hWin);
- } break;
- case WM_CANCELMODE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CANCELMODE", hWin);
- } break;
- case WM_MOUSEACTIVATE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MOUSEACTIVATE", hWin);
- } break;
- case WM_CHILDACTIVATE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CHILDACTIVATE", hWin);
- } break;
- case WM_QUEUESYNC:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_QUEUESYNC", hWin);
- } break;
- case WM_GETMINMAXINFO:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_GETMINMAXINFO", hWin);
- } break;
- case WM_PAINTICON:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_PAINTICON", hWin);
- } break;
- case WM_ICONERASEBKGND:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_ICONERASEBKGND", hWin);
- } break;
- case WM_NEXTDLGCTL:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NEXTDLGCTL", hWin);
- } break;
- case WM_SPOOLERSTATUS:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SPOOLERSTATUS", hWin);
- } break;
- case WM_DRAWITEM:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_DRAWITEM", hWin);
- } break;
- case WM_MEASUREITEM:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MEASUREITEM", hWin);
- } break;
- case WM_DELETEITEM:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_DELETEITEM", hWin);
- } break;
- case WM_VKEYTOITEM:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_VKEYTOITEM", hWin);
- } break;
- case WM_CHARTOITEM:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CHARTOITEM", hWin);
- } break;
- case WM_SETFONT:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SETFONT", hWin);
- } break;
- case WM_GETFONT:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_GETFONT", hWin);
- } break;
- case WM_SETHOTKEY:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SETHOTKEY", hWin);
- } break;
- case WM_GETHOTKEY:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_GETHOTKEY", hWin);
- } break;
- case WM_QUERYDRAGICON:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_QUERYDRAGICON", hWin);
- } break;
- case WM_COMPAREITEM:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_COMPAREITEM", hWin);
- } break;
- case WM_COMPACTING:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_COMPACTING", hWin);
- } break;
- case WM_COMMNOTIFY:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_COMMNOTIFY", hWin);
- } break;
- case WM_WINDOWPOSCHANGING:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_WINDOWPOSCHANGING", hWin);
- } break;
- case WM_WINDOWPOSCHANGED:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_WINDOWPOSCHANGED", hWin);
- } break;
- case WM_POWER:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_POWER", hWin);
- } break;
- case WM_COPYDATA:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_COPYDATA", hWin);
- } break;
- case WM_CANCELJOURNAL:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CANCELJOURNAL", hWin);
- } break;
- case WM_NOTIFY:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NOTIFY", hWin);
- } break;
- case WM_INPUTLANGCHANGEREQUEST:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_INPUTLANGCHANGEREQUEST", hWin);
- } break;
- case WM_INPUTLANGCHANGE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_INPUTLANGCHANGE", hWin);
- } break;
- case WM_TCARD:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_TCARD", hWin);
- } break;
- case WM_HELP:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_HELP", hWin);
- } break;
- case WM_USERCHANGED:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_USERCHANGED", hWin);
- } break;
- case WM_NOTIFYFORMAT:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NOTIFYFORMAT", hWin);
- } break;
- case WM_CONTEXTMENU:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CONTEXTMENU", hWin);
- } break;
- case WM_STYLECHANGING:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_STYLECHANGING", hWin);
- } break;
- case WM_STYLECHANGED:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_STYLECHANGED", hWin);
- } break;
- case WM_DISPLAYCHANGE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_DISPLAYCHANGE", hWin);
- } break;
- case WM_GETICON:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_GETICON", hWin);
- } break;
- case WM_SETICON:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SETICON", hWin);
- } break;
- case WM_NCCREATE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCCREATE", hWin);
- } break;
- case WM_NCDESTROY:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCDESTROY", hWin);
- } break;
- case WM_NCCALCSIZE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCCALCSIZE", hWin);
- } break;
- case WM_NCPAINT:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCPAINT", hWin);
- } break;
- case WM_NCACTIVATE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCACTIVATE", hWin);
- } break;
- case WM_GETDLGCODE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_GETDLGCODE", hWin);
- } break;
- case WM_NCMOUSEMOVE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCMOUSEMOVE", hWin);
- } break;
- case WM_NCLBUTTONDOWN:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCLBUTTONDOWN", hWin);
- } break;
- case WM_NCLBUTTONUP:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCLBUTTONUP", hWin);
- } break;
- case WM_NCLBUTTONDBLCLK:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCLBUTTONDBLCLK", hWin);
- } break;
- case WM_NCRBUTTONDOWN:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCRBUTTONDOWN", hWin);
- } break;
- case WM_NCRBUTTONUP:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCRBUTTONUP", hWin);
- } break;
- case WM_NCRBUTTONDBLCLK:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCRBUTTONDBLCLK", hWin);
- } break;
- case WM_NCMBUTTONDOWN:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCMBUTTONDOWN", hWin);
- } break;
- case WM_NCMBUTTONUP:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCMBUTTONUP", hWin);
- } break;
- case WM_NCMBUTTONDBLCLK:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCMBUTTONDBLCLK", hWin);
- } break;
- case WM_KEYDOWN:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_KEYDOWN", hWin);
- } break;
- case WM_KEYUP:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_KEYUP", hWin);
- } break;
- case WM_DEADCHAR:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_DEADCHAR", hWin);
- } break;
- case WM_SYSKEYDOWN:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SYSKEYDOWN", hWin);
- } break;
- case WM_SYSKEYUP:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SYSKEYUP", hWin);
- } break;
- case WM_SYSCHAR:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SYSCHAR", hWin);
- } break;
- case WM_SYSDEADCHAR:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SYSDEADCHAR", hWin);
- } break;
- case WM_IME_STARTCOMPOSITION:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_IME_STARTCOMPOSITION", hWin);
- } break;
- case WM_IME_ENDCOMPOSITION:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_IME_ENDCOMPOSITION", hWin);
- } break;
- case WM_IME_COMPOSITION:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_IME_COMPOSITION", hWin);
- } break;
- case WM_INITDIALOG:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_INITDIALOG", hWin);
- } break;
- case WM_COMMAND:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_COMMAND", hWin);
- } break;
- case WM_SYSCOMMAND:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SYSCOMMAND", hWin);
- } break;
- case WM_INITMENU:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_INITMENU", hWin);
- } break;
- case WM_INITMENUPOPUP:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_INITMENUPOPUP", hWin);
- } break;
- case WM_MENUSELECT:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MENUSELECT", hWin);
- } break;
- case WM_MENUCHAR:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MENUCHAR", hWin);
- } break;
- case WM_CTLCOLORMSGBOX:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CTLCOLORMSGBOX", hWin);
- } break;
- case WM_CTLCOLOREDIT:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CTLCOLOREDIT", hWin);
- } break;
- case WM_CTLCOLORLISTBOX:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CTLCOLORLISTBOX", hWin);
- } break;
- case WM_CTLCOLORBTN:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CTLCOLORBTN", hWin);
- } break;
- case WM_CTLCOLORDLG:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CTLCOLORDLG", hWin);
- } break;
- case WM_CTLCOLORSCROLLBAR:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CTLCOLORSCROLLBAR", hWin);
- } break;
- case WM_CTLCOLORSTATIC:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CTLCOLORSTATIC", hWin);
- } break;
- case WM_MOUSEMOVE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MOUSEMOVE", hWin);
- } break;
- case WM_LBUTTONDOWN:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_LBUTTONDOWN", hWin);
- } break;
- case WM_LBUTTONUP:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_LBUTTONUP", hWin);
- } break;
- case WM_LBUTTONDBLCLK:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_LBUTTONDBLCLK", hWin);
- } break;
- case WM_RBUTTONDOWN:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_RBUTTONDOWN", hWin);
- } break;
- case WM_RBUTTONUP:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_RBUTTONUP", hWin);
- } break;
- case WM_RBUTTONDBLCLK:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_RBUTTONDBLCLK", hWin);
- } break;
- case WM_MBUTTONDOWN:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MBUTTONDOWN", hWin);
- } break;
- case WM_MBUTTONUP:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MBUTTONUP", hWin);
- } break;
- case WM_MBUTTONDBLCLK:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MBUTTONDBLCLK", hWin);
- } break;
- case WM_PARENTNOTIFY:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_PARENTNOTIFY", hWin);
- } break;
- case WM_ENTERMENULOOP:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_ENTERMENULOOP", hWin);
- } break;
- case WM_EXITMENULOOP:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_EXITMENULOOP", hWin);
- } break;
- case WM_NEXTMENU:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NEXTMENU", hWin);
- } break;
- case WM_SIZING:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SIZING", hWin);
- } break;
- case WM_CAPTURECHANGED:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CAPTURECHANGED", hWin);
- } break;
- case WM_MOVING:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MOVING", hWin);
- } break;
- case WM_POWERBROADCAST:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_POWERBROADCAST", hWin);
- } break;
- case WM_DEVICECHANGE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_DEVICECHANGE", hWin);
- } break;
- case WM_IME_SETCONTEXT:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_IME_SETCONTEXT", hWin);
- } break;
- case WM_IME_NOTIFY:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_IME_NOTIFY", hWin);
- } break;
- case WM_IME_CONTROL:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_IME_CONTROL", hWin);
- } break;
- case WM_IME_COMPOSITIONFULL:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_IME_COMPOSITIONFULL", hWin);
- } break;
- case WM_IME_SELECT:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_IME_SELECT", hWin);
- } break;
- case WM_IME_CHAR:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_IME_CHAR", hWin);
- } break;
- case WM_IME_KEYDOWN:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_IME_KEYDOWN", hWin);
- } break;
- case WM_IME_KEYUP:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_IME_KEYUP", hWin);
- } break;
- case WM_MDICREATE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MDICREATE", hWin);
- } break;
- case WM_MDIDESTROY:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MDIDESTROY", hWin);
- } break;
- case WM_MDIACTIVATE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MDIACTIVATE", hWin);
- } break;
- case WM_MDIRESTORE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MDIRESTORE", hWin);
- } break;
- case WM_MDINEXT:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MDINEXT", hWin);
- } break;
- case WM_MDIMAXIMIZE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MDIMAXIMIZE", hWin);
- } break;
- case WM_MDITILE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MDITILE", hWin);
- } break;
- case WM_MDICASCADE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MDICASCADE", hWin);
- } break;
- case WM_MDIICONARRANGE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MDIICONARRANGE", hWin);
- } break;
- case WM_MDIGETACTIVE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MDIGETACTIVE", hWin);
- } break;
- case WM_MDISETMENU:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MDISETMENU", hWin);
- } break;
- case WM_ENTERSIZEMOVE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_ENTERSIZEMOVE", hWin);
- } break;
- case WM_EXITSIZEMOVE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_EXITSIZEMOVE", hWin);
- } break;
- case WM_DROPFILES:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_DROPFILES", hWin);
- } break;
- case WM_MDIREFRESHMENU:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MDIREFRESHMENU", hWin);
- } break;
- case WM_CUT:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CUT", hWin);
- } break;
- case WM_COPY:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_COPY", hWin);
- } break;
- case WM_PASTE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_PASTE", hWin);
- } break;
- case WM_CLEAR:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CLEAR", hWin);
- } break;
- case WM_UNDO:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_UNDO", hWin);
- } break;
- case WM_RENDERFORMAT:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_RENDERFORMAT", hWin);
- } break;
- case WM_RENDERALLFORMATS:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_RENDERALLFORMATS", hWin);
- } break;
- case WM_DESTROYCLIPBOARD:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_DESTROYCLIPBOARD", hWin);
- } break;
- case WM_DRAWCLIPBOARD:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_DRAWCLIPBOARD", hWin);
- } break;
- case WM_PAINTCLIPBOARD:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_PAINTCLIPBOARD", hWin);
- } break;
- case WM_VSCROLLCLIPBOARD:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_VSCROLLCLIPBOARD", hWin);
- } break;
- case WM_SIZECLIPBOARD:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SIZECLIPBOARD", hWin);
- } break;
- case WM_ASKCBFORMATNAME:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_ASKCBFORMATNAME", hWin);
- } break;
- case WM_CHANGECBCHAIN:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CHANGECBCHAIN", hWin);
- } break;
- case WM_HSCROLLCLIPBOARD:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_HSCROLLCLIPBOARD", hWin);
- } break;
- case WM_QUERYNEWPALETTE:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_QUERYNEWPALETTE", hWin);
- } break;
- case WM_PALETTEISCHANGING:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_PALETTEISCHANGING", hWin);
- } break;
- case WM_PALETTECHANGED:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_PALETTECHANGED", hWin);
- } break;
- case WM_HOTKEY:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_HOTKEY", hWin);
- } break;
- case WM_PRINT:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_PRINT", hWin);
- } break;
- case WM_PRINTCLIENT:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_PRINTCLIENT", hWin);
- } break;
- case WM_HANDHELDFIRST:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_HANDHELDFIRST", hWin);
- } break;
- case WM_HANDHELDLAST:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_HANDHELDLAST", hWin);
- } break;
- case WM_AFXFIRST:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_AFXFIRST", hWin);
- } break;
- case WM_AFXLAST:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_AFXLAST", hWin);
- } break;
- case WM_PENWINFIRST:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_PENWINFIRST", hWin);
- } break;
- case WM_PENWINLAST:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_PENWINLAST", hWin);
- } break;
- case WM_APP:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_APP", hWin);
- } break;
- case WM_USER:
- {
- rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_USER", hWin);
- } break;
- default:
- {
- rprintf ("== %s got UNKOWN MESSAGE %d, hwin = %d\n", fname, uMess, hWin);
- } break;
- }
+ case WM_NULL:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NULL", hWin);
+ } break;
+ case WM_CREATE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CREATE", hWin);
+ } break;
+ case WM_DESTROY:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_DESTROY", hWin);
+ } break;
+ case WM_SETFOCUS:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SETFOCUS", hWin);
+ } break;
+ case WM_KILLFOCUS:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_KILLFOCUS", hWin);
+ } break;
+ case WM_SETREDRAW:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SETREDRAW", hWin);
+ } break;
+ case WM_SETTEXT:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SETTEXT", hWin);
+ } break;
+ case WM_GETTEXT:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_GETTEXT", hWin);
+ } break;
+ case WM_GETTEXTLENGTH:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_GETTEXTLENGTH", hWin);
+ } break;
+ case WM_PAINT:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_PAINT", hWin);
+ } break;
+ case WM_CLOSE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CLOSE", hWin);
+ } break;
+ case WM_QUERYENDSESSION:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_QUERYENDSESSION", hWin);
+ } break;
+ case WM_QUIT:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_QUIT", hWin);
+ } break;
+ case WM_QUERYOPEN:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_QUERYOPEN", hWin);
+ } break;
+ case WM_ERASEBKGND:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_ERASEBKGND", hWin);
+ } break;
+ case WM_SYSCOLORCHANGE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SYSCOLORCHANGE", hWin);
+ } break;
+ case WM_ENDSESSION:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_ENDSESSION", hWin);
+ } break;
+ case WM_SHOWWINDOW:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SHOWWINDOW", hWin);
+ } break;
+ case WM_SETTINGCHANGE: /* WM_WININICHANGE on NT */
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SETTINGCHANGE", hWin);
+ } break;
+ case WM_DEVMODECHANGE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_DEVMODECHANGE", hWin);
+ } break;
+ case WM_FONTCHANGE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_FONTCHANGE", hWin);
+ } break;
+ case WM_TIMECHANGE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_TIMECHANGE", hWin);
+ } break;
+ case WM_CANCELMODE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CANCELMODE", hWin);
+ } break;
+ case WM_MOUSEACTIVATE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MOUSEACTIVATE", hWin);
+ } break;
+ case WM_CHILDACTIVATE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CHILDACTIVATE", hWin);
+ } break;
+ case WM_QUEUESYNC:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_QUEUESYNC", hWin);
+ } break;
+ case WM_GETMINMAXINFO:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_GETMINMAXINFO", hWin);
+ } break;
+ case WM_PAINTICON:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_PAINTICON", hWin);
+ } break;
+ case WM_ICONERASEBKGND:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_ICONERASEBKGND", hWin);
+ } break;
+ case WM_NEXTDLGCTL:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NEXTDLGCTL", hWin);
+ } break;
+ case WM_SPOOLERSTATUS:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SPOOLERSTATUS", hWin);
+ } break;
+ case WM_DRAWITEM:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_DRAWITEM", hWin);
+ } break;
+ case WM_MEASUREITEM:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MEASUREITEM", hWin);
+ } break;
+ case WM_DELETEITEM:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_DELETEITEM", hWin);
+ } break;
+ case WM_VKEYTOITEM:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_VKEYTOITEM", hWin);
+ } break;
+ case WM_CHARTOITEM:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CHARTOITEM", hWin);
+ } break;
+ case WM_SETFONT:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SETFONT", hWin);
+ } break;
+ case WM_GETFONT:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_GETFONT", hWin);
+ } break;
+ case WM_SETHOTKEY:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SETHOTKEY", hWin);
+ } break;
+ case WM_GETHOTKEY:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_GETHOTKEY", hWin);
+ } break;
+ case WM_QUERYDRAGICON:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_QUERYDRAGICON", hWin);
+ } break;
+ case WM_COMPAREITEM:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_COMPAREITEM", hWin);
+ } break;
+ case WM_COMPACTING:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_COMPACTING", hWin);
+ } break;
+ case WM_COMMNOTIFY:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_COMMNOTIFY", hWin);
+ } break;
+ case WM_WINDOWPOSCHANGING:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_WINDOWPOSCHANGING", hWin);
+ } break;
+ case WM_WINDOWPOSCHANGED:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_WINDOWPOSCHANGED", hWin);
+ } break;
+ case WM_POWER:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_POWER", hWin);
+ } break;
+ case WM_COPYDATA:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_COPYDATA", hWin);
+ } break;
+ case WM_CANCELJOURNAL:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CANCELJOURNAL", hWin);
+ } break;
+ case WM_NOTIFY:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NOTIFY", hWin);
+ } break;
+ case WM_INPUTLANGCHANGEREQUEST:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_INPUTLANGCHANGEREQUEST", hWin);
+ } break;
+ case WM_INPUTLANGCHANGE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_INPUTLANGCHANGE", hWin);
+ } break;
+ case WM_TCARD:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_TCARD", hWin);
+ } break;
+ case WM_HELP:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_HELP", hWin);
+ } break;
+ case WM_USERCHANGED:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_USERCHANGED", hWin);
+ } break;
+ case WM_NOTIFYFORMAT:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NOTIFYFORMAT", hWin);
+ } break;
+ case WM_CONTEXTMENU:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CONTEXTMENU", hWin);
+ } break;
+ case WM_STYLECHANGING:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_STYLECHANGING", hWin);
+ } break;
+ case WM_STYLECHANGED:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_STYLECHANGED", hWin);
+ } break;
+ case WM_DISPLAYCHANGE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_DISPLAYCHANGE", hWin);
+ } break;
+ case WM_GETICON:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_GETICON", hWin);
+ } break;
+ case WM_SETICON:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SETICON", hWin);
+ } break;
+ case WM_NCCREATE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCCREATE", hWin);
+ } break;
+ case WM_NCDESTROY:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCDESTROY", hWin);
+ } break;
+ case WM_NCCALCSIZE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCCALCSIZE", hWin);
+ } break;
+ case WM_NCPAINT:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCPAINT", hWin);
+ } break;
+ case WM_NCACTIVATE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCACTIVATE", hWin);
+ } break;
+ case WM_GETDLGCODE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_GETDLGCODE", hWin);
+ } break;
+ case WM_NCMOUSEMOVE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCMOUSEMOVE", hWin);
+ } break;
+ case WM_NCLBUTTONDOWN:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCLBUTTONDOWN", hWin);
+ } break;
+ case WM_NCLBUTTONUP:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCLBUTTONUP", hWin);
+ } break;
+ case WM_NCLBUTTONDBLCLK:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCLBUTTONDBLCLK", hWin);
+ } break;
+ case WM_NCRBUTTONDOWN:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCRBUTTONDOWN", hWin);
+ } break;
+ case WM_NCRBUTTONUP:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCRBUTTONUP", hWin);
+ } break;
+ case WM_NCRBUTTONDBLCLK:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCRBUTTONDBLCLK", hWin);
+ } break;
+ case WM_NCMBUTTONDOWN:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCMBUTTONDOWN", hWin);
+ } break;
+ case WM_NCMBUTTONUP:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCMBUTTONUP", hWin);
+ } break;
+ case WM_NCMBUTTONDBLCLK:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NCMBUTTONDBLCLK", hWin);
+ } break;
+ case WM_KEYDOWN:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_KEYDOWN", hWin);
+ } break;
+ case WM_KEYUP:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_KEYUP", hWin);
+ } break;
+ case WM_DEADCHAR:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_DEADCHAR", hWin);
+ } break;
+ case WM_SYSKEYDOWN:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SYSKEYDOWN", hWin);
+ } break;
+ case WM_SYSKEYUP:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SYSKEYUP", hWin);
+ } break;
+ case WM_SYSCHAR:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SYSCHAR", hWin);
+ } break;
+ case WM_SYSDEADCHAR:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SYSDEADCHAR", hWin);
+ } break;
+ case WM_IME_STARTCOMPOSITION:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_IME_STARTCOMPOSITION", hWin);
+ } break;
+ case WM_IME_ENDCOMPOSITION:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_IME_ENDCOMPOSITION", hWin);
+ } break;
+ case WM_IME_COMPOSITION:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_IME_COMPOSITION", hWin);
+ } break;
+ case WM_INITDIALOG:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_INITDIALOG", hWin);
+ } break;
+ case WM_COMMAND:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_COMMAND", hWin);
+ } break;
+ case WM_SYSCOMMAND:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SYSCOMMAND", hWin);
+ } break;
+ case WM_INITMENU:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_INITMENU", hWin);
+ } break;
+ case WM_INITMENUPOPUP:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_INITMENUPOPUP", hWin);
+ } break;
+ case WM_MENUSELECT:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MENUSELECT", hWin);
+ } break;
+ case WM_MENUCHAR:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MENUCHAR", hWin);
+ } break;
+ case WM_CTLCOLORMSGBOX:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CTLCOLORMSGBOX", hWin);
+ } break;
+ case WM_CTLCOLOREDIT:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CTLCOLOREDIT", hWin);
+ } break;
+ case WM_CTLCOLORLISTBOX:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CTLCOLORLISTBOX", hWin);
+ } break;
+ case WM_CTLCOLORBTN:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CTLCOLORBTN", hWin);
+ } break;
+ case WM_CTLCOLORDLG:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CTLCOLORDLG", hWin);
+ } break;
+ case WM_CTLCOLORSCROLLBAR:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CTLCOLORSCROLLBAR", hWin);
+ } break;
+ case WM_CTLCOLORSTATIC:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CTLCOLORSTATIC", hWin);
+ } break;
+ case WM_MOUSEMOVE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MOUSEMOVE", hWin);
+ } break;
+ case WM_LBUTTONDOWN:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_LBUTTONDOWN", hWin);
+ } break;
+ case WM_LBUTTONUP:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_LBUTTONUP", hWin);
+ } break;
+ case WM_LBUTTONDBLCLK:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_LBUTTONDBLCLK", hWin);
+ } break;
+ case WM_RBUTTONDOWN:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_RBUTTONDOWN", hWin);
+ } break;
+ case WM_RBUTTONUP:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_RBUTTONUP", hWin);
+ } break;
+ case WM_RBUTTONDBLCLK:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_RBUTTONDBLCLK", hWin);
+ } break;
+ case WM_MBUTTONDOWN:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MBUTTONDOWN", hWin);
+ } break;
+ case WM_MBUTTONUP:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MBUTTONUP", hWin);
+ } break;
+ case WM_MBUTTONDBLCLK:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MBUTTONDBLCLK", hWin);
+ } break;
+ case WM_PARENTNOTIFY:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_PARENTNOTIFY", hWin);
+ } break;
+ case WM_ENTERMENULOOP:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_ENTERMENULOOP", hWin);
+ } break;
+ case WM_EXITMENULOOP:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_EXITMENULOOP", hWin);
+ } break;
+ case WM_NEXTMENU:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_NEXTMENU", hWin);
+ } break;
+ case WM_SIZING:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SIZING", hWin);
+ } break;
+ case WM_CAPTURECHANGED:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CAPTURECHANGED", hWin);
+ } break;
+ case WM_MOVING:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MOVING", hWin);
+ } break;
+ case WM_POWERBROADCAST:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_POWERBROADCAST", hWin);
+ } break;
+ case WM_DEVICECHANGE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_DEVICECHANGE", hWin);
+ } break;
+ case WM_IME_SETCONTEXT:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_IME_SETCONTEXT", hWin);
+ } break;
+ case WM_IME_NOTIFY:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_IME_NOTIFY", hWin);
+ } break;
+ case WM_IME_CONTROL:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_IME_CONTROL", hWin);
+ } break;
+ case WM_IME_COMPOSITIONFULL:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_IME_COMPOSITIONFULL", hWin);
+ } break;
+ case WM_IME_SELECT:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_IME_SELECT", hWin);
+ } break;
+ case WM_IME_CHAR:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_IME_CHAR", hWin);
+ } break;
+ case WM_IME_KEYDOWN:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_IME_KEYDOWN", hWin);
+ } break;
+ case WM_IME_KEYUP:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_IME_KEYUP", hWin);
+ } break;
+ case WM_MDICREATE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MDICREATE", hWin);
+ } break;
+ case WM_MDIDESTROY:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MDIDESTROY", hWin);
+ } break;
+ case WM_MDIACTIVATE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MDIACTIVATE", hWin);
+ } break;
+ case WM_MDIRESTORE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MDIRESTORE", hWin);
+ } break;
+ case WM_MDINEXT:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MDINEXT", hWin);
+ } break;
+ case WM_MDIMAXIMIZE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MDIMAXIMIZE", hWin);
+ } break;
+ case WM_MDITILE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MDITILE", hWin);
+ } break;
+ case WM_MDICASCADE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MDICASCADE", hWin);
+ } break;
+ case WM_MDIICONARRANGE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MDIICONARRANGE", hWin);
+ } break;
+ case WM_MDIGETACTIVE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MDIGETACTIVE", hWin);
+ } break;
+ case WM_MDISETMENU:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MDISETMENU", hWin);
+ } break;
+ case WM_ENTERSIZEMOVE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_ENTERSIZEMOVE", hWin);
+ } break;
+ case WM_EXITSIZEMOVE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_EXITSIZEMOVE", hWin);
+ } break;
+ case WM_DROPFILES:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_DROPFILES", hWin);
+ } break;
+ case WM_MDIREFRESHMENU:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_MDIREFRESHMENU", hWin);
+ } break;
+ case WM_CUT:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CUT", hWin);
+ } break;
+ case WM_COPY:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_COPY", hWin);
+ } break;
+ case WM_PASTE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_PASTE", hWin);
+ } break;
+ case WM_CLEAR:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CLEAR", hWin);
+ } break;
+ case WM_UNDO:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_UNDO", hWin);
+ } break;
+ case WM_RENDERFORMAT:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_RENDERFORMAT", hWin);
+ } break;
+ case WM_RENDERALLFORMATS:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_RENDERALLFORMATS", hWin);
+ } break;
+ case WM_DESTROYCLIPBOARD:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_DESTROYCLIPBOARD", hWin);
+ } break;
+ case WM_DRAWCLIPBOARD:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_DRAWCLIPBOARD", hWin);
+ } break;
+ case WM_PAINTCLIPBOARD:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_PAINTCLIPBOARD", hWin);
+ } break;
+ case WM_VSCROLLCLIPBOARD:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_VSCROLLCLIPBOARD", hWin);
+ } break;
+ case WM_SIZECLIPBOARD:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_SIZECLIPBOARD", hWin);
+ } break;
+ case WM_ASKCBFORMATNAME:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_ASKCBFORMATNAME", hWin);
+ } break;
+ case WM_CHANGECBCHAIN:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_CHANGECBCHAIN", hWin);
+ } break;
+ case WM_HSCROLLCLIPBOARD:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_HSCROLLCLIPBOARD", hWin);
+ } break;
+ case WM_QUERYNEWPALETTE:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_QUERYNEWPALETTE", hWin);
+ } break;
+ case WM_PALETTEISCHANGING:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_PALETTEISCHANGING", hWin);
+ } break;
+ case WM_PALETTECHANGED:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_PALETTECHANGED", hWin);
+ } break;
+ case WM_HOTKEY:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_HOTKEY", hWin);
+ } break;
+ case WM_PRINT:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_PRINT", hWin);
+ } break;
+ case WM_PRINTCLIENT:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_PRINTCLIENT", hWin);
+ } break;
+ case WM_HANDHELDFIRST:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_HANDHELDFIRST", hWin);
+ } break;
+ case WM_HANDHELDLAST:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_HANDHELDLAST", hWin);
+ } break;
+ case WM_AFXFIRST:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_AFXFIRST", hWin);
+ } break;
+ case WM_AFXLAST:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_AFXLAST", hWin);
+ } break;
+ case WM_PENWINFIRST:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_PENWINFIRST", hWin);
+ } break;
+ case WM_PENWINLAST:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_PENWINLAST", hWin);
+ } break;
+ case WM_APP:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_APP", hWin);
+ } break;
+ case WM_USER:
+ {
+ rprintf ("== %s got %s, hwnd = %d\n", fname, "WM_USER", hWin);
+ } break;
+ default:
+ {
+ rprintf ("== %s got UNKOWN MESSAGE %d, hwin = %d\n", fname, uMess, hWin);
+ } break;
+ }
} /* printMessage */
#endif
gchar* createMnemonicString(gchar* source)
{
- gchar* dest;
- static gchar* s;
+ gchar* dest;
+ static gchar* s;
printf("createMnemonicString\n");
if (source == NULL)
@@ -1593,31 +1593,31 @@ gchar* createMnemonicString(gchar* source) return dest;
}
- dest = (gchar *) rmalloc(rstrlen(source)*2+1);
- s = dest;
+ dest = (gchar *) rmalloc(rstrlen(source)*2+1);
+ s = dest;
printf("Making Mnemonic for: %s\n", source);
- while (*source)
- {
- switch (*source)
- {
- case '&':
- *(dest++) = '_';
- break;
- case '_':
- *(dest++) = '_';
- *(dest++) = '_';
- default:
- *(dest++) = *source;
- }
-
- source++;
- }
-
- *dest = 0;
+ while (*source)
+ {
+ switch (*source)
+ {
+ case '&':
+ *(dest++) = '_';
+ break;
+ case '_':
+ *(dest++) = '_';
+ *(dest++) = '_';
+ default:
+ *(dest++) = *source;
+ }
+
+ source++;
+ }
+
+ *dest = 0;
printf("Generated Mnemonic: %p, %s\n", s, s);
- return s;
+ return s;
}
|