|
From: <kr_...@us...> - 2003-03-30 18:49:11
|
Update of /cvsroot/htoolkit/port/src/cbits/GTK
In directory sc8-pr-cvs1:/tmp/cvs-serv19641/port/src/cbits/GTK
Modified Files:
Frame.c Util.c Window.c
Log Message:
The process related features are extracted into newly created module "Process". Added new process attribute "title" instead of title as parameter.
Index: Frame.c
===================================================================
RCS file: /cvsroot/htoolkit/port/src/cbits/GTK/Frame.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** Frame.c 29 Mar 2003 08:12:18 -0000 1.3
--- Frame.c 30 Mar 2003 18:49:07 -0000 1.4
***************
*** 5,8 ****
--- 5,9 ----
#include <gdk/gdkkeysyms.h>
+ char *gAppName = NULL;
GtkWidget *gFrameWidget = NULL;
GtkWidget *gClientWidget = NULL;
***************
*** 50,53 ****
--- 51,63 ----
}
+ static void frame_destroy_handler(GtkWidget *widget, GdkEvent *event, gpointer user_data)
+ {
+ handleProcessDestroy();
+ if (gDocumentInterface == 1)
+ free(gWindowName);
+ }
+
+
+
BOOL gInKey = FALSE;
int gCurChar = 0;
***************
*** 189,192 ****
--- 199,205 ----
GTK_SIGNAL_FUNC(frame_delete_handler),
NULL);
+ gtk_signal_connect (GTK_OBJECT(gFrameWidget), "destroy",
+ GTK_SIGNAL_FUNC(frame_destroy_handler),
+ NULL);
gtk_signal_connect (GTK_OBJECT(gFrameWidget), "key-press-event",
GTK_SIGNAL_FUNC(frame_key_press_handler),
***************
*** 274,281 ****
/* Create the window. */
gFrameWidget = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- gtk_window_set_title(GTK_WINDOW(gFrameWidget), gAppName);
gtk_signal_connect (GTK_OBJECT(gFrameWidget), "delete-event",
GTK_SIGNAL_FUNC(frame_delete_handler),
NULL);
gtk_signal_connect (GTK_OBJECT(gFrameWidget), "key-press-event",
GTK_SIGNAL_FUNC(frame_key_press_handler),
--- 287,296 ----
/* Create the window. */
gFrameWidget = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_signal_connect (GTK_OBJECT(gFrameWidget), "delete-event",
GTK_SIGNAL_FUNC(frame_delete_handler),
NULL);
+ gtk_signal_connect (GTK_OBJECT(gFrameWidget), "destroy",
+ GTK_SIGNAL_FUNC(frame_destroy_handler),
+ NULL);
gtk_signal_connect (GTK_OBJECT(gFrameWidget), "key-press-event",
GTK_SIGNAL_FUNC(frame_key_press_handler),
***************
*** 296,298 ****
--- 311,324 ----
gtk_widget_show_all(gFrameWidget);
+ }
+
+ char *osGetProcessTitle()
+ {
+ return gAppName;
+ }
+
+ void osSetProcessTitle(char *szAppName)
+ {
+ gAppName = strdup(szAppName);
+ updateFrameTitle();
}
Index: Util.c
===================================================================
RCS file: /cvsroot/htoolkit/port/src/cbits/GTK/Util.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** Util.c 29 Mar 2003 08:12:18 -0000 1.10
--- Util.c 30 Mar 2003 18:49:07 -0000 1.11
***************
*** 7,11 ****
BOOL bInitialized = FALSE;
int gDocumentInterface;
- char *gAppName;
void *rmalloc (unsigned long bytes)
--- 7,10 ----
***************
*** 27,31 ****
}
! void osInit(char *AppName, int DocumentInterface)
{
if (!bInitialized)
--- 26,30 ----
}
! void osInit(int DocumentInterface)
{
if (!bInitialized)
***************
*** 40,44 ****
bInitialized = TRUE;
- gAppName = strdup(AppName);
gDocumentInterface = DocumentInterface;
--- 39,42 ----
***************
*** 54,58 ****
gtk_main();
handleProcessDestroy();
- free(gAppName);
}
--- 52,55 ----
***************
*** 110,111 ****
--- 107,144 ----
return s;
};
+
+ void updateFrameTitle()
+ {
+ char *title;
+
+ if (gAppName && *gAppName)
+ {
+ if (gDocumentInterface == 2)
+ {
+ GtkWidget *label;
+
+ label = gtk_notebook_get_tab_label(GTK_NOTEBOOK(gClientWidget),gtk_notebook_get_nth_page(GTK_NOTEBOOK(gClientWidget),gtk_notebook_get_current_page(GTK_NOTEBOOK(gClientWidget))));
+ gWindowName = gtk_label_get_text(GTK_LABEL(label));
+ }
+
+ if (gWindowName && *gWindowName)
+ {
+ title = rmalloc(strlen(gAppName)+strlen(gWindowName)+6);
+
+ if (title)
+ {
+ strcpy(title, gAppName);
+ strcat(title, " - [");
+ strcat(title, gWindowName);
+ strcat(title, "]");
+ gtk_window_set_title(GTK_WINDOW(gFrameWidget), title);
+ }
+
+ rfree(title);
+ }
+ else
+ gtk_window_set_title(GTK_WINDOW(gFrameWidget), gAppName);
+ }
+ else
+ gtk_window_set_title(GTK_WINDOW(gFrameWidget), gWindowName);
+ }
Index: Window.c
===================================================================
RCS file: /cvsroot/htoolkit/port/src/cbits/GTK/Window.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** Window.c 29 Mar 2003 08:12:18 -0000 1.11
--- Window.c 30 Mar 2003 18:49:07 -0000 1.12
***************
*** 4,7 ****
--- 4,8 ----
#include <gdk/gdkkeysyms.h>
+ char *gWindowName = NULL;
static void getWindowClipRect(GtkWidget *window, GdkRegion *region)
***************
*** 290,294 ****
if (gDocumentInterface == 2)
! gtk_notebook_append_page(GTK_NOTEBOOK(gClientWidget),sw,gtk_label_new(gAppName));
else
{
--- 291,295 ----
if (gDocumentInterface == 2)
! gtk_notebook_append_page(GTK_NOTEBOOK(gClientWidget),sw,gtk_label_new(""));
else
{
***************
*** 355,360 ****
char *osGetWindowTitle(WindowHandle window)
{
- char *title;
-
if (gDocumentInterface == 2)
{
--- 356,359 ----
***************
*** 362,373 ****
label = gtk_notebook_get_tab_label(GTK_NOTEBOOK(gClientWidget),window);
! title = gtk_label_get_text(GTK_LABEL(label));
! }
! else
! {
! title = GTK_WINDOW(gFrameWidget)->title;
}
!
! return strdup(title);
};
--- 361,368 ----
label = gtk_notebook_get_tab_label(GTK_NOTEBOOK(gClientWidget),window);
! gWindowName = gtk_label_get_text(GTK_LABEL(label));
}
!
! return strdup(gWindowName);
};
***************
*** 385,389 ****
else
{
! gtk_window_set_title(GTK_WINDOW(gFrameWidget), title);
}
};
--- 380,385 ----
else
{
! gWindowName = strdup(title);
! updateFrameTitle();
}
};
|