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 /Linux_C_12/cCrossCallxDI_121.c | |
parent | Fixed crashes with windows (diff) |
Get rid of all the tabs. So annoying.
Diffstat (limited to 'Linux_C_12/cCrossCallxDI_121.c')
-rw-r--r-- | Linux_C_12/cCrossCallxDI_121.c | 622 |
1 files changed, 311 insertions, 311 deletions
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;
}
|