|
From: <kr_...@us...> - 2003-10-17 23:29:48
|
Update of /cvsroot/htoolkit/port/src/cbits/GTK
In directory sc8-pr-cvs1:/tmp/cvs-serv1289/src/cbits/GTK
Modified Files:
Window.c
Log Message:
Nonscrollable dialogs for Linux.
Index: Window.c
===================================================================
RCS file: /cvsroot/htoolkit/port/src/cbits/GTK/Window.c,v
retrieving revision 1.39
retrieving revision 1.40
diff -C2 -d -r1.39 -r1.40
*** Window.c 12 Oct 2003 22:21:38 -0000 1.39
--- Window.c 17 Oct 2003 23:22:55 -0000 1.40
***************
*** 283,288 ****
int modifiers = 0;
- widget = GTK_BIN(widget)->child;
-
if (event->state & GDK_SHIFT_MASK) modifiers |= shiftBIT;
if (event->state & GDK_CONTROL_MASK) modifiers |= ctrlBIT;
--- 283,286 ----
***************
*** 299,303 ****
static void dialog_focus_in_handler(GtkWidget *widget, GdkEventFocus *event, gpointer user_data)
{
! handleWindowActivate(GTK_BIN(widget)->child);
}
--- 297,301 ----
static void dialog_focus_in_handler(GtkWidget *widget, GdkEventFocus *event, gpointer user_data)
{
! handleWindowActivate(widget);
}
***************
*** 306,310 ****
if (gInKey)
{
! handleWindowKeyboard(GTK_BIN(widget)->child, evKeyUp, gCurChar, 0);
gInKey = FALSE;
--- 304,308 ----
if (gInKey)
{
! handleWindowKeyboard(widget, evKeyUp, gCurChar, 0);
gInKey = FALSE;
***************
*** 312,316 ****
}
! handleWindowDeactivate(GTK_BIN(widget)->child);
}
--- 310,314 ----
}
! handleWindowDeactivate(widget);
}
***************
*** 319,323 ****
WindowHandle osCreateDialog(WindowHandle parent)
{
! GtkWidget *sw, *frame;
if (parent == NULL)
--- 317,321 ----
WindowHandle osCreateDialog(WindowHandle parent)
{
! GtkWidget *layout, *frame;
if (parent == NULL)
***************
*** 327,351 ****
frame = gtk_window_new (GTK_WINDOW_TOPLEVEL);
! gtk_window_set_transient_for(GTK_WINDOW(frame), GTK_WINDOW(gtk_widget_get_toplevel(parent)));
gtk_window_set_destroy_with_parent(GTK_WINDOW(frame), gtk_true());
-
gtk_signal_connect (GTK_OBJECT(frame), "key-press-event",
! GTK_SIGNAL_FUNC(dialog_key_press_handler),
! NULL);
gtk_signal_connect (GTK_OBJECT(frame), "key-release-event",
! GTK_SIGNAL_FUNC(dialog_key_release_handler),
! NULL);
gtk_signal_connect (GTK_OBJECT(frame), "focus-in-event",
! GTK_SIGNAL_FUNC(dialog_focus_in_handler),
! NULL);
gtk_signal_connect (GTK_OBJECT(frame), "focus-out-event",
! GTK_SIGNAL_FUNC(dialog_focus_out_handler),
! NULL);
! sw = create_generic_window();
! gtk_container_add(GTK_CONTAINER(frame), sw);
! return sw;
}
--- 325,369 ----
frame = gtk_window_new (GTK_WINDOW_TOPLEVEL);
! gtk_window_set_transient_for(GTK_WINDOW(frame), GTK_WINDOW(parent));
gtk_window_set_destroy_with_parent(GTK_WINDOW(frame), gtk_true());
gtk_signal_connect (GTK_OBJECT(frame), "key-press-event",
! GTK_SIGNAL_FUNC(dialog_key_press_handler),
! NULL);
gtk_signal_connect (GTK_OBJECT(frame), "key-release-event",
! GTK_SIGNAL_FUNC(dialog_key_release_handler),
! NULL);
gtk_signal_connect (GTK_OBJECT(frame), "focus-in-event",
! GTK_SIGNAL_FUNC(dialog_focus_in_handler),
! NULL);
gtk_signal_connect (GTK_OBJECT(frame), "focus-out-event",
! GTK_SIGNAL_FUNC(dialog_focus_out_handler),
! NULL);
! gtk_signal_connect (GTK_OBJECT(frame), "destroy",
! GTK_SIGNAL_FUNC(handleWindowDestroy),
! NULL);
! gtk_signal_connect (GTK_OBJECT(frame), "delete-event",
! GTK_SIGNAL_FUNC(window_delete_handler),
! NULL);
! layout = port_layout_new(NULL,NULL);
! gtk_container_add(GTK_CONTAINER(frame), layout);
! gtk_widget_show(layout);
! /* Signals */
! gtk_signal_connect (GTK_OBJECT(layout), "expose-event",
! GTK_SIGNAL_FUNC(window_expose_handler),
! frame);
! gtk_signal_connect (GTK_OBJECT(layout), "button-press-event",
! GTK_SIGNAL_FUNC(window_button_press_handler),
! frame);
! gtk_signal_connect (GTK_OBJECT(layout), "button-release-event",
! GTK_SIGNAL_FUNC(window_button_release_handler),
! frame);
! gtk_signal_connect (GTK_OBJECT(layout), "motion_notify_event",
! GTK_SIGNAL_FUNC(window_motion_notify_handler),
! frame);
!
! return frame;
}
***************
*** 525,547 ****
{
GtkRequisition req;
- GtkScrolledWindow *scroll_window = GTK_SCROLLED_WINDOW(window);
- GtkScrolledWindowClass *scroll_class = GTK_SCROLLED_WINDOW_CLASS(GTK_OBJECT_GET_CLASS(window));
! if (scroll_window->vscrollbar_visible)
{
! req.width = 2;
! req.height = 2;
! (* GTK_WIDGET_CLASS( GTK_OBJECT_GET_CLASS(scroll_window->vscrollbar) )->size_request )
! (scroll_window->vscrollbar, &req );
! w += req.width + scroll_class->scrollbar_spacing;
! }
! if (scroll_window->hscrollbar_visible)
! {
! req.width = 2;
! req.height = 2;
! (* GTK_WIDGET_CLASS( GTK_OBJECT_GET_CLASS(scroll_window->hscrollbar) )->size_request )
(scroll_window->hscrollbar, &req );
! h += req.height + scroll_class->scrollbar_spacing;
}
--- 543,569 ----
{
GtkRequisition req;
! if (GTK_IS_SCROLLED_WINDOW(window))
{
! GtkScrolledWindow *scroll_window = GTK_SCROLLED_WINDOW(window);
! GtkScrolledWindowClass *scroll_class = GTK_SCROLLED_WINDOW_CLASS(GTK_OBJECT_GET_CLASS(window));
! if (scroll_window->vscrollbar_visible)
! {
! req.width = 2;
! req.height = 2;
! (* GTK_WIDGET_CLASS( GTK_OBJECT_GET_CLASS(scroll_window->vscrollbar) )->size_request )
! (scroll_window->vscrollbar, &req );
! w += req.width + scroll_class->scrollbar_spacing;
! }
!
! if (scroll_window->hscrollbar_visible)
! {
! req.width = 2;
! req.height = 2;
! (* GTK_WIDGET_CLASS( GTK_OBJECT_GET_CLASS(scroll_window->hscrollbar) )->size_request )
(scroll_window->hscrollbar, &req );
! h += req.height + scroll_class->scrollbar_spacing;
! }
}
***************
*** 576,610 ****
void osSetWindowScrollOrigin(WindowHandle window, int x, int y)
{
! gtk_adjustment_set_value(gtk_scrolled_window_get_hadjustment (GTK_SCROLLED_WINDOW(window)), x);
! gtk_adjustment_set_value(gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW(window)), y);
}
void osGetWindowScrollOrigin(WindowHandle window, int *res)
{
! res[0] = gtk_adjustment_get_value(gtk_scrolled_window_get_hadjustment (GTK_SCROLLED_WINDOW(window)));
! res[1] = gtk_adjustment_get_value(gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW(window)));
}
void osSetWindowLineSize(WindowHandle window, int cx, int cy)
{
! GtkAdjustment *adj;
! GtkScrolledWindow *sw = GTK_SCROLLED_WINDOW(window);
! adj = gtk_scrolled_window_get_hadjustment(sw); adj->step_increment = cx; gtk_adjustment_changed(adj);
! adj = gtk_scrolled_window_get_vadjustment(sw); adj->step_increment = cy; gtk_adjustment_changed(adj);
}
void osGetWindowLineSize(WindowHandle window, int *res)
{
! GtkScrolledWindow *sw = GTK_SCROLLED_WINDOW(window);
! res[0] = gtk_scrolled_window_get_hadjustment(sw)->step_increment;
! res[1] = gtk_scrolled_window_get_vadjustment(sw)->step_increment;
}
void osSetWindowPageSize(WindowHandle window, int cx, int cy)
{
! GtkAdjustment *adj;
! GtkScrolledWindow *sw = GTK_SCROLLED_WINDOW(window);
! adj = gtk_scrolled_window_get_hadjustment(sw); adj->page_increment = cx; gtk_adjustment_changed(adj);
! adj = gtk_scrolled_window_get_vadjustment(sw); adj->page_increment = cy; gtk_adjustment_changed(adj);
}
--- 598,652 ----
void osSetWindowScrollOrigin(WindowHandle window, int x, int y)
{
! if (GTK_IS_SCROLLED_WINDOW(window))
! {
! gtk_adjustment_set_value(gtk_scrolled_window_get_hadjustment (GTK_SCROLLED_WINDOW(window)), x);
! gtk_adjustment_set_value(gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW(window)), y);
! }
}
void osGetWindowScrollOrigin(WindowHandle window, int *res)
{
! if (GTK_IS_SCROLLED_WINDOW(window))
! {
! res[0] = gtk_adjustment_get_value(gtk_scrolled_window_get_hadjustment (GTK_SCROLLED_WINDOW(window)));
! res[1] = gtk_adjustment_get_value(gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW(window)));
! }
! else
! {
! res[0] = 0;
! res[1] = 0;
! }
}
void osSetWindowLineSize(WindowHandle window, int cx, int cy)
{
! if (GTK_IS_SCROLLED_WINDOW(window))
! {
! GtkAdjustment *adj;
! GtkScrolledWindow *sw = GTK_SCROLLED_WINDOW(window);
! adj = gtk_scrolled_window_get_hadjustment(sw); adj->step_increment = cx; gtk_adjustment_changed(adj);
! adj = gtk_scrolled_window_get_vadjustment(sw); adj->step_increment = cy; gtk_adjustment_changed(adj);
! }
}
void osGetWindowLineSize(WindowHandle window, int *res)
{
! if (GTK_IS_SCROLLED_WINDOW(window))
! {
! GtkScrolledWindow *sw = GTK_SCROLLED_WINDOW(window);
! res[0] = gtk_scrolled_window_get_hadjustment(sw)->step_increment;
! res[1] = gtk_scrolled_window_get_vadjustment(sw)->step_increment;
! }
}
void osSetWindowPageSize(WindowHandle window, int cx, int cy)
{
! if (GTK_IS_SCROLLED_WINDOW(window))
! {
! GtkAdjustment *adj;
! GtkScrolledWindow *sw = GTK_SCROLLED_WINDOW(window);
! adj = gtk_scrolled_window_get_hadjustment(sw); adj->page_increment = cx; gtk_adjustment_changed(adj);
! adj = gtk_scrolled_window_get_vadjustment(sw); adj->page_increment = cy; gtk_adjustment_changed(adj);
! }
}
***************
*** 612,634 ****
void osGetWindowPageSize(WindowHandle window, int *res)
{
! GtkScrolledWindow *sw = GTK_SCROLLED_WINDOW(window);
! res[0] = gtk_scrolled_window_get_hadjustment(sw)->page_increment;
! res[1] = gtk_scrolled_window_get_vadjustment(sw)->page_increment;
}
void osSetWindowVisible(WindowHandle window, BOOL visible)
{
- GtkWidget *toplevel = gtk_widget_get_toplevel(window);
-
if (visible)
- {
gtk_widget_show(window);
- if (toplevel != gFrameWidget) gtk_widget_show(toplevel);
- }
else
- {
gtk_widget_hide(window);
- if (toplevel != gFrameWidget) gtk_widget_hide(toplevel);
- }
};
--- 654,671 ----
void osGetWindowPageSize(WindowHandle window, int *res)
{
! if (GTK_IS_SCROLLED_WINDOW(window))
! {
! GtkScrolledWindow *sw = GTK_SCROLLED_WINDOW(window);
! res[0] = gtk_scrolled_window_get_hadjustment(sw)->page_increment;
! res[1] = gtk_scrolled_window_get_vadjustment(sw)->page_increment;
! }
}
void osSetWindowVisible(WindowHandle window, BOOL visible)
{
if (visible)
gtk_widget_show(window);
else
gtk_widget_hide(window);
};
***************
*** 640,650 ****
void osRunDialog(WindowHandle window)
{
- GtkWidget *toplevel = gtk_widget_get_toplevel(window);
-
gtk_widget_show(window);
- gtk_widget_show(toplevel);
! gtk_window_set_modal(GTK_WINDOW(toplevel), TRUE);
! gtk_signal_connect (GTK_OBJECT(toplevel), "destroy",
GTK_SIGNAL_FUNC(gtk_main_quit),
NULL);
--- 677,684 ----
void osRunDialog(WindowHandle window)
{
gtk_widget_show(window);
! gtk_window_set_modal(GTK_WINDOW(window), TRUE);
! gtk_signal_connect (GTK_OBJECT(window), "destroy",
GTK_SIGNAL_FUNC(gtk_main_quit),
NULL);
***************
*** 655,675 ****
BOOL osDismissWindow(WindowHandle window)
{
- GtkWidget *widget = window;
-
gtk_signal_connect (GTK_OBJECT(window), "destroy",
GTK_SIGNAL_FUNC(gtk_widget_destroyed),
! &widget);
! handleWindowDismiss(widget);
! return (widget == NULL);
}
void osDestroyWindow(WindowHandle window)
{
! GtkWidget *toplevel = gtk_widget_get_toplevel(window);
!
! if (toplevel != gFrameWidget)
! gtk_widget_destroy(toplevel);
! else
! gtk_widget_destroy(window);
}
--- 689,702 ----
BOOL osDismissWindow(WindowHandle window)
{
gtk_signal_connect (GTK_OBJECT(window), "destroy",
GTK_SIGNAL_FUNC(gtk_widget_destroyed),
! &window);
! handleWindowDismiss(window);
! return (window == NULL);
}
void osDestroyWindow(WindowHandle window)
{
! gtk_widget_destroy(window);
}
***************
*** 686,713 ****
CanvasHandle osGetWindowCanvas(WindowHandle window)
{
- int scrollbar_spacing;
GdkRectangle rectangle;
CanvasHandle canvas;
-
- GtkRequisition child_requisition, hscrollbar_requisition, vscrollbar_requisition;
GtkWidget *layout;
layout = GTK_BIN(window)->child;
! rectangle.x = gtk_scrolled_window_get_hadjustment (GTK_SCROLLED_WINDOW(window))->value;
! rectangle.y = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW(window))->value;
! rectangle.width = window->allocation.width;
! rectangle.height = window->allocation.height;
! gtk_widget_size_request(layout, &child_requisition);
! gtk_widget_size_request(GTK_SCROLLED_WINDOW(window)->hscrollbar, &hscrollbar_requisition);
! gtk_widget_size_request(GTK_SCROLLED_WINDOW(window)->vscrollbar, &vscrollbar_requisition);
! scrollbar_spacing = GTK_SCROLLED_WINDOW_GET_CLASS(window)->scrollbar_spacing;
! if (scrollbar_spacing < 0) scrollbar_spacing = 3;
! if (rectangle.width < child_requisition.width ) rectangle.width -= scrollbar_spacing + vscrollbar_requisition.width;
! if (rectangle.height < child_requisition.height) rectangle.height -= scrollbar_spacing + hscrollbar_requisition.height;
rectangle.width -= 2*GTK_CONTAINER(window)->border_width;
--- 713,750 ----
CanvasHandle osGetWindowCanvas(WindowHandle window)
{
GdkRectangle rectangle;
CanvasHandle canvas;
GtkWidget *layout;
layout = GTK_BIN(window)->child;
! if (GTK_IS_SCROLLED_WINDOW(window))
! {
! int scrollbar_spacing;
! GtkRequisition child_requisition, hscrollbar_requisition, vscrollbar_requisition;
! rectangle.x = gtk_scrolled_window_get_hadjustment (GTK_SCROLLED_WINDOW(window))->value;
! rectangle.y = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW(window))->value;
! rectangle.width = window->allocation.width;
! rectangle.height = window->allocation.height;
! gtk_widget_size_request(layout, &child_requisition);
! gtk_widget_size_request(GTK_SCROLLED_WINDOW(window)->hscrollbar, &hscrollbar_requisition);
! gtk_widget_size_request(GTK_SCROLLED_WINDOW(window)->vscrollbar, &vscrollbar_requisition);
! scrollbar_spacing = GTK_SCROLLED_WINDOW_GET_CLASS(window)->scrollbar_spacing;
! if (scrollbar_spacing < 0) scrollbar_spacing = 3;
!
! if (rectangle.width < child_requisition.width ) rectangle.width -= scrollbar_spacing + vscrollbar_requisition.width;
! if (rectangle.height < child_requisition.height) rectangle.height -= scrollbar_spacing + hscrollbar_requisition.height;
! }
! else
! {
! rectangle.x = 0;
! rectangle.y = 0;
! rectangle.width = window->allocation.width;
! rectangle.height = window->allocation.height;
! }
rectangle.width -= 2*GTK_CONTAINER(window)->border_width;
***************
*** 874,876 ****
--- 911,917 ----
handleContainerReLayout(window);
+ }
+
+ void osSetDialogMinSize(WindowHandle dialog, int w, int h)
+ {
}
|