From 94a213718f76b87bbfcf9165e6b431f59ef3e8e3 Mon Sep 17 00:00:00 2001 From: Eduardo Fiss Beloni Date: Thu, 17 Apr 2014 09:35:35 -0300 Subject: [PATCH] XttGraph option Dialog --- .../pwrb/src/pwrb_td_xttgraphoptionsmask.wb_load | 10 ++++++++++ xtt/lib/xtt/gtk/xtt_ge_gtk.cpp | 6 ++++++ xtt/lib/xtt/src/xtt_xnav.h | 1 + xtt/lib/xtt/src/xtt_xnav_command.cpp | 2 ++ 4 files changed, 19 insertions(+), 0 deletions(-) diff --git a/src/wbl/pwrb/src/pwrb_td_xttgraphoptionsmask.wb_load b/src/wbl/pwrb/src/pwrb_td_xttgraphoptionsmask.wb_load index d224032..18a9fc3 100644 --- a/src/wbl/pwrb/src/pwrb_td_xttgraphoptionsmask.wb_load +++ b/src/wbl/pwrb/src/pwrb_td_xttgraphoptionsmask.wb_load @@ -131,6 +131,16 @@ SObject pwrb:Type Attr Value = 128 EndBody EndObject + !/** + ! Dialog window. + !*/ + Object Dialog $Bit + Body SysBody + Attr PgmName = "Dialog" + Attr Text = "Dialog" + Attr Value = 256 + EndBody + EndObject EndObject EndSObject diff --git a/xtt/lib/xtt/gtk/xtt_ge_gtk.cpp b/xtt/lib/xtt/gtk/xtt_ge_gtk.cpp index e4d41dc..153f0b0 100644 --- a/xtt/lib/xtt/gtk/xtt_ge_gtk.cpp +++ b/xtt/lib/xtt/gtk/xtt_ge_gtk.cpp @@ -335,6 +335,12 @@ XttGeGtk::XttGeGtk( GtkWidget *xg_parent_wid, void *xg_parent_ctx, const char *x if ( options & ge_mOptions_HideDecorations) gtk_window_set_decorated( GTK_WINDOW(toplevel), FALSE); + if ( options & ge_mOptions_Dialog) { + gtk_window_set_type_hint( GTK_WINDOW(toplevel), GDK_WINDOW_TYPE_HINT_DIALOG); + gtk_widget_set_size_request( GTK_WIDGET(toplevel), window_width, window_height); + gtk_window_set_resizable( GTK_WINDOW(toplevel), FALSE); + } + g_signal_connect( toplevel, "delete_event", G_CALLBACK(delete_event), this); g_signal_connect( toplevel, "destroy", G_CALLBACK(destroy_event), this); g_signal_connect( toplevel, "focus-in-event", G_CALLBACK(action_inputfocus), this); diff --git a/xtt/lib/xtt/src/xtt_xnav.h b/xtt/lib/xtt/src/xtt_xnav.h index 9f10e33..1af10ab 100644 --- a/xtt/lib/xtt/src/xtt_xnav.h +++ b/xtt/lib/xtt/src/xtt_xnav.h @@ -219,6 +219,7 @@ typedef enum { ge_mOptions_IsMain = 1 << 6, ge_mOptions_HideCloseButton = 1 << 7, ge_mOptions_HideDecorations = 1 << 8, + ge_mOptions_Dialog = 1 << 9, } ge_mOptions; class XNav; diff --git a/xtt/lib/xtt/src/xtt_xnav_command.cpp b/xtt/lib/xtt/src/xtt_xnav_command.cpp index 8675f19..ebb3032 100644 --- a/xtt/lib/xtt/src/xtt_xnav_command.cpp +++ b/xtt/lib/xtt/src/xtt_xnav_command.cpp @@ -8530,6 +8530,8 @@ int XNav::exec_xttgraph( pwr_tObjid xttgraph, char *instance, options |= ge_mOptions_Iconify; if ( xttgraph_o.Options & pwr_mXttGraphOptionsMask_HideDecorations) options |= ge_mOptions_HideDecorations; + if ( xttgraph_o.Options & pwr_mXttGraphOptionsMask_Dialog) + options |= ge_mOptions_Dialog; open_graph( xttgraph_o.Title, action, scrollbars, menu, navigator, xttgraph_o.Width, -- 1.7.4.1