diff gtk3/dw.c @ 1913:5d32be499016

The GTK MDI code is filling up with deprecated calls and it is becoming a hassle to maintain, it still builds just with many warnings... however since MDI is considered deprecated due to lack of support on MacOS X, I am making the GTK MDI code build optional with the --with-deprecated configure switch. MDI code will still be built on Windows and OS/2... With stub code on MacOS X... GTK will require the --with-deprecated switch to build the code.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Sun, 19 Jun 2016 18:08:52 +0000
parents 5035750bcc65
children 98579be1198e
line wrap: on
line diff
--- a/gtk3/dw.c	Sun Jun 19 17:21:20 2016 +0000
+++ b/gtk3/dw.c	Sun Jun 19 18:08:52 2016 +0000
@@ -231,6 +231,7 @@
 #define DW_TOP 0.0f
 #define DW_BOTTOM 1.0f
 
+#ifdef DW_INCLUDE_DEPRECATED
 /* MDI Support Code */
 #define GTK_MDI(obj)          G_TYPE_CHECK_INSTANCE_CAST (obj, gtk_mdi_get_type (), GtkMdi)
 #define GTK_MDI_CLASS(klass)  G_TYPE_CHECK_CLASS_CAST (klass, gtk_mdi_get_type (), GtkMdiClass)
@@ -1054,6 +1055,7 @@
 
    return NULL;
 }
+#endif
 
 static void _dw_msleep(long period)
 {
@@ -2296,17 +2298,21 @@
 int dw_window_minimize(HWND handle)
 {
    int _locked_by_me = FALSE;
+#ifdef DW_INCLUDE_DEPRECATED
    GtkWidget *mdi = NULL;
+#endif
 
    if(!handle)
       return 0;
 
    DW_MUTEX_LOCK;
+#ifdef DW_INCLUDE_DEPRECATED
    if((mdi = (GtkWidget *)g_object_get_data(G_OBJECT(handle), "_dw_mdi")) && GTK_IS_MDI(mdi))
    {
       gtk_mdi_set_state(GTK_MDI(mdi), handle, CHILD_ICONIFIED);
    }
    else
+#endif
    {
       gtk_window_iconify( GTK_WINDOW(handle) );
    }
@@ -2359,18 +2365,22 @@
 {
    int _locked_by_me = FALSE;
    GtkWidget *defaultitem;
+#ifdef DW_INCLUDE_DEPRECATED
    GtkWidget *mdi;
+#endif
 
    if (!handle)
       return 0;
 
    DW_MUTEX_LOCK;
    gtk_widget_show(handle);
+#ifdef DW_INCLUDE_DEPRECATED
    if ((mdi = (GtkWidget *)g_object_get_data(G_OBJECT(handle), "_dw_mdi")) && GTK_IS_MDI(mdi))
    {
       gtk_mdi_set_state(GTK_MDI(mdi), handle, CHILD_NORMAL);
    }
    else
+#endif
    {
       GdkWindow *window = gtk_widget_get_window(GTK_WIDGET(handle));
       if (window && gtk_widget_get_mapped(handle))
@@ -2421,17 +2431,21 @@
 int dw_window_hide(HWND handle)
 {
    int _locked_by_me = FALSE;
+#ifdef DW_INCLUDE_DEPRECATED
    GtkWidget *mdi = NULL;
+#endif
 
    if(!handle)
       return 0;
 
    DW_MUTEX_LOCK;
+#ifdef DW_INCLUDE_DEPRECATED
    if((mdi = (GtkWidget *)g_object_get_data(G_OBJECT(handle), "_dw_mdi")) && GTK_IS_MDI(mdi))
    {
       gtk_mdi_set_state(GTK_MDI(mdi), handle, CHILD_ICONIFIED);
    }
    else
+#endif
       gtk_widget_hide(handle);
    DW_MUTEX_UNLOCK;
    return 0;
@@ -2445,16 +2459,20 @@
 int dw_window_destroy(HWND handle)
 {
    int _locked_by_me = FALSE;
+#ifdef DW_INCLUDE_DEPRECATED
    GtkWidget *mdi = NULL;
+#endif
 
    if(!handle)
       return 0;
 
    DW_MUTEX_LOCK;
+#ifdef DW_INCLUDE_DEPRECATED
    if((mdi = (GtkWidget *)g_object_get_data(G_OBJECT(handle), "_dw_mdi")) && GTK_IS_MDI(mdi))
    {
       gtk_mdi_remove(GTK_MDI(mdi), handle);
    }
+#endif
    if(GTK_IS_WIDGET(handle))
    {
       GtkWidget *box, *handle2 = handle;
@@ -2951,6 +2969,7 @@
    int flags = 0;
 
    DW_MUTEX_LOCK;
+#ifdef DW_INCLUDE_DEPRECATED
    if(hwndOwner && GTK_IS_MDI(hwndOwner))
    {
       GtkWidget *label;
@@ -2966,6 +2985,7 @@
       gtk_mdi_put(GTK_MDI(hwndOwner), tmp, 100, 75, label);
    }
    else
+#endif
    {
       GtkWidget *box = dw_box_new(DW_VERT, 0);
       GtkWidget *grid = gtk_grid_new();
@@ -3165,6 +3185,7 @@
    return frame;
 }
 
+#ifdef DW_INCLUDE_DEPRECATED
 /*
  * Create a new MDI Frame to be packed.
  * Parameters:
@@ -3181,6 +3202,7 @@
    DW_MUTEX_UNLOCK;
    return tmp;
 }
+#endif
 
 /*
  * Create a bitmap object to be packed.
@@ -3759,10 +3781,10 @@
    tmp = gtk_label_new(text);
 
    /* Left and centered */
-   gtk_misc_set_alignment(GTK_MISC(tmp), 0.0f, 0.5f);
+   gtk_label_set_xalign(GTK_LABEL(tmp), 0.0f);
+   gtk_label_set_yalign(GTK_LABEL(tmp), 0.5f);
    gtk_widget_show(tmp);
    g_object_set_data(G_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id));
-   gtk_misc_set_alignment(GTK_MISC(tmp), DW_LEFT, DW_LEFT);
    if(_DWDefaultFont)
       dw_window_set_font(tmp, _DWDefaultFont);
    DW_MUTEX_UNLOCK;
@@ -3789,7 +3811,8 @@
    gtk_widget_show(frame);
 
    /* Left and centered */
-   gtk_misc_set_alignment(GTK_MISC(tmp), 0.0f, 0.5f);
+   gtk_label_set_xalign(GTK_LABEL(tmp), 0.0f);
+   gtk_label_set_yalign(GTK_LABEL(tmp), 0.5f);
    g_object_set_data(G_OBJECT(frame), "_dw_id", GINT_TO_POINTER(id));
    g_object_set_data(G_OBJECT(frame), "_dw_label", (gpointer)tmp);
    if(_DWDefaultFont)
@@ -9333,17 +9356,21 @@
 void dw_window_set_pos(HWND handle, long x, long y)
 {
    int _locked_by_me = FALSE;
+#ifdef DW_INCLUDE_DEPRECATED
    GtkWidget *mdi;
+#endif
 
    if(!handle)
       return;
       
    DW_MUTEX_LOCK;
+#ifdef DW_INCLUDE_DEPRECATED
    if((mdi = (GtkWidget *)g_object_get_data(G_OBJECT(handle), "_dw_mdi")) && GTK_IS_MDI(mdi))
    {
       gtk_mdi_move(GTK_MDI(mdi), handle, x, y);
    }
    else
+#endif
    {
       GdkWindow *window = NULL;
       
@@ -9490,15 +9517,19 @@
 {
    int _locked_by_me = FALSE;
    gint gx = 0, gy = 0, gwidth = 0, gheight = 0;
+#ifdef DW_INCLUDE_DEPRECATED
    GtkWidget *mdi;
-
-   DW_MUTEX_LOCK;
+#endif
+
+   DW_MUTEX_LOCK;
+#ifdef DW_INCLUDE_DEPRECATED
    /* If it is an MDI window query what we can */
    if((mdi = (GtkWidget *)g_object_get_data(G_OBJECT(handle), "_dw_mdi")) && GTK_IS_MDI(mdi))
    {
       gtk_mdi_get_pos(GTK_MDI(mdi), handle, &gx, &gy);
    }
    else
+#endif
    {
       GdkWindow *window;
       
@@ -9596,7 +9627,8 @@
          y = DW_TOP;
       if ( style & DW_DT_BOTTOM )
          y = DW_BOTTOM;
-      gtk_misc_set_alignment( GTK_MISC(handle2), x, y );
+      gtk_label_set_xalign(GTK_LABEL(handle2), x);
+      gtk_label_set_yalign(GTK_LABEL(handle2), y);
       if ( style & DW_DT_WORDBREAK )
          gtk_label_set_line_wrap( GTK_LABEL(handle), TRUE );
    }