antiright-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Antiright-devel] antiright/gtkshell row.c row_struct.h


From: Jeffrey Bedard
Subject: [Antiright-devel] antiright/gtkshell row.c row_struct.h
Date: Sat, 07 Aug 2010 16:47:22 +0000

CVSROOT:        /sources/antiright
Module name:    antiright
Changes by:     Jeffrey Bedard <jefbed> 10/08/07 16:47:22

Modified files:
        gtkshell       : row.c row_struct.h 

Log message:
        Removed preprocessor based logic, simplified comparisons in management
        tests.  Begin use of smaller bool type.  

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/row.c?cvsroot=antiright&r1=1.24&r2=1.25
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/row_struct.h?cvsroot=antiright&r1=1.3&r2=1.4

Patches:
Index: row.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/row.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -b -r1.24 -r1.25
--- row.c       11 Jun 2007 21:32:43 -0000      1.24
+++ row.c       7 Aug 2010 16:47:22 -0000       1.25
@@ -25,10 +25,11 @@
 static void
 gsh_GSHRows_new(struct GSHRows * this)
 {
+       bool is_first_row=!this->v;
        gtk_container_add(GTK_CONTAINER(this->h), 
                this->v=gtk_vbox_new(FALSE, 2));
        gtk_widget_show(this->v);
-       this->current = 1;
+       this->current=is_first_row?2:1;
 }
 
 static void
@@ -38,30 +39,29 @@
                $(this, new);
 }
 
+/*
 static void
 gsh_delete_GSHRows(struct GSHRows * rows)
 {
        g_free(rows);
-}
+}*/
 
-#define SETUP_METHODS(rows)\
-{\
-       rows->delete=&gsh_delete_GSHRows;\
-       rows->new=&gsh_GSHRows_new;\
-       rows->check=&gsh_GSHRows_check;\
+static inline void
+setup_methods(struct GSHRows * rows)
+{
+       rows->delete=(void (*)(struct GSHRows *))&g_free;
+       rows->new=&gsh_GSHRows_new;
+       rows->check=&gsh_GSHRows_check;
 }
 
+static inline void
+setup_member_fields(struct GSHRows * rows)
+{
 /* Use an arbitrary, though reasonable, initial number of rows.  */
-#define SETUP_MEMBER_FIELDS(rows)\
-{\
-       rows->current=1;\
-       rows->total=8;\
-}
-
-#define SETUP_GSHROWS(rows)\
-{\
-       SETUP_MEMBER_FIELDS(rows);\
-       SETUP_METHODS(rows);\
+       rows->current=1;
+       rows->total=8;
+       rows->h=NULL;
+       rows->v=NULL;
 }
 
 struct GSHRows *
@@ -70,7 +70,8 @@
        struct GSHRows * rows;
 
        rows = xmalloc(sizeof(struct GSHRows));
-       SETUP_GSHROWS(rows);
+       setup_member_fields(rows);
+       setup_methods(rows);
 
        return rows;
 }
@@ -96,41 +97,28 @@
                return FALSE;
 }
 
-static void
-manage_normal(struct GSH * gsh, GtkWidget * widget)
-{
-       if(test_manage_menu_item(gsh->rows->v, widget))
-               return;
-       $(gsh->rows, check);
-       gtk_container_add(GTK_CONTAINER(gsh->rows->v), widget);
-       gsh_manage_generic(gsh, widget);
-}
-
-#define GR gsh->rows
-#define CONTAINER GR->v
-#define TEST_MANAGE_UNEXPANDED(gsh)\
-       (GSH_FLAG(GSH_NO_EXPAND) &&(GR->total != 1)\
-       && !GTK_IS_MENU(CONTAINER) && !GTK_IS_MENU_BAR(CONTAINER)\
-       && !GTK_IS_MENU_ITEM(CONTAINER))
-
-
-static void
-manage_unexpanded(struct GSH * gsh, GtkWidget * widget)
-{
-       $(gsh->rows, check);
-       gtk_box_pack_start(GTK_BOX(gsh->rows->v), widget,
-                          FALSE, FALSE, 0);
-       gsh_manage_generic(gsh, widget);
-}
-
 void
 gsh_manage(struct GSH * gsh, GtkWidget *widget)
 {
        if(GSH_FLAG(GSH_PANE_NEXT))
+       {
                gsh_pane_previous(gsh, widget);
-       else if(TEST_MANAGE_UNEXPANDED(gsh))
-               manage_unexpanded(gsh, widget);
+       }
        else
-               manage_normal(gsh, widget);
+       {
+               struct GSHRows * rows = gsh->rows;
+               GtkWidget * vert  = rows->v;
+
+               if(test_manage_menu_item(vert, widget))
+                       return;
+               $(rows, check);
+               /* Test for unexpanded addition of a child.  */
+               if(GSH_FLAG(GSH_NO_EXPAND))
+                       gtk_box_pack_start(GTK_BOX(vert), widget,
+                               FALSE, FALSE, 0);
+               else
+                       gtk_container_add(GTK_CONTAINER(vert), widget);
+               gsh_manage_generic(gsh, widget);
+       }
 }
 

Index: row_struct.h
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/row_struct.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4



reply via email to

[Prev in Thread] Current Thread [Next in Thread]