From 895573b8333afb803b998f6235a68e2a939e6ca7 Mon Sep 17 00:00:00 2001
From: rds <rds>
Date: Mon, 8 Jun 2009 09:17:58 +0000
Subject: [PATCH] code in case the function to reparent the button panel to a
 new toplevel is useful.

---
 src/zmapControl/zmapControlWindow.c        | 10 ++++-----
 src/zmapControl/zmapControlWindowMenubar.c | 26 +++++++++++++++++-----
 src/zmapControl/zmapControl_P.h            |  5 +++--
 3 files changed, 28 insertions(+), 13 deletions(-)

diff --git a/src/zmapControl/zmapControlWindow.c b/src/zmapControl/zmapControlWindow.c
index 5f7745acb..472eb7290 100755
--- a/src/zmapControl/zmapControlWindow.c
+++ b/src/zmapControl/zmapControlWindow.c
@@ -26,9 +26,9 @@
  *              
  * Exported functions: See zmapTopWindow_P.h
  * HISTORY:
- * Last edited: Jul  4 09:34 2008 (rds)
+ * Last edited: Jun  7 00:52 2009 (rds)
  * Created: Fri May  7 14:43:28 2004 (edgrif)
- * CVS info:   $Id: zmapControlWindow.c,v 1.34 2008-07-04 16:01:41 rds Exp $
+ * CVS info:   $Id: zmapControlWindow.c,v 1.35 2009-06-08 09:17:58 rds Exp $
  *-------------------------------------------------------------------
  */
 
@@ -52,7 +52,6 @@ gboolean zmapControlWindowCreate(ZMap zmap)
   GtkWidget *toplevel, *vbox, *menubar, *frame, *controls_box, *button_box, *status_box,
     *info_panel_box, *info_box ;
 
-
   /* Make tooltips groups for the main zmap controls and the feature information. */
   zmap->tooltips = gtk_tooltips_new() ;
   zmap->feature_tooltips = gtk_tooltips_new() ;
@@ -87,11 +86,12 @@ gboolean zmapControlWindowCreate(ZMap zmap)
   menubar = zmapControlWindowMakeMenuBar(zmap) ;
   gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, TRUE, 0);
 
+
   frame = gtk_frame_new(NULL);
   gtk_container_border_width(GTK_CONTAINER(frame), 5);
   gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, TRUE, 0);
 
-  controls_box = gtk_vbox_new(FALSE, 0) ;
+  zmap->button_info_box = controls_box = gtk_vbox_new(FALSE, 0) ;
   gtk_container_add(GTK_CONTAINER(frame), controls_box) ;
 
   info_box = gtk_hbox_new(FALSE, 0) ;
@@ -103,6 +103,7 @@ gboolean zmapControlWindowCreate(ZMap zmap)
   status_box = makeStatusPanel(zmap) ;
   gtk_box_pack_end(GTK_BOX(info_box), status_box, FALSE, TRUE, 0) ;
 
+
   //info_panel_box = zmapControlWindowMakeInfoPanel(zmap) ;
   info_panel_box = zmap->info_panel_vbox = gtk_vbox_new(FALSE, 0);
   gtk_box_pack_start(GTK_BOX(controls_box), info_panel_box, FALSE, FALSE, 0) ;
@@ -110,7 +111,6 @@ gboolean zmapControlWindowCreate(ZMap zmap)
   zmap->navview_frame = zmapControlWindowMakeFrame(zmap) ;
   gtk_box_pack_start(GTK_BOX(vbox), zmap->navview_frame, TRUE, TRUE, 0);
 
-
   gtk_widget_show_all(toplevel) ;
 
   /* Tooltips can only be added to widgets after the widgets have been "shown". */
diff --git a/src/zmapControl/zmapControlWindowMenubar.c b/src/zmapControl/zmapControlWindowMenubar.c
index 133e70459..e305c3f8f 100755
--- a/src/zmapControl/zmapControlWindowMenubar.c
+++ b/src/zmapControl/zmapControlWindowMenubar.c
@@ -31,9 +31,9 @@
  *              
  * Exported functions: See zmapControl_P.h
  * HISTORY:
- * Last edited: Jan 13 14:03 2009 (edgrif)
+ * Last edited: Jun  8 10:08 2009 (rds)
  * Created: Thu Jul 24 14:36:59 2003 (edgrif)
- * CVS info:   $Id: zmapControlWindowMenubar.c,v 1.30 2009-01-13 15:02:02 edgrif Exp $
+ * CVS info:   $Id: zmapControlWindowMenubar.c,v 1.31 2009-06-08 09:17:58 rds Exp $
  *-------------------------------------------------------------------
  */
 
@@ -68,7 +68,9 @@ static void rtTicket(gpointer cb_data, guint callback_action, GtkWidget *w);
 static void allHelpCB(gpointer cb_data, guint callback_action, GtkWidget *w);
 static void formatSession(gpointer data, gpointer user_data) ;
 static void print_hello( gpointer data, guint callback_action, GtkWidget *w ) ;
-
+#ifdef ALLOW_POPOUT_PANEL
+static void popout_panel( gpointer data, guint callback_action, GtkWidget *w ) ;
+#endif /* ALLOW_POPOUT_PANEL */
 
 GtkItemFactory *item_factory;
 
@@ -97,6 +99,9 @@ static GtkItemFactoryEntry menu_items[] = {
  { "/Edit/P_references",  NULL,    preferencesCB, 0, NULL },
  { "/Edit/_Set Developer status",  NULL,    developerCB, 0, NULL },
  { "/_View",         NULL,         NULL, 0, "<Branch>" },
+#ifdef ALLOW_POPOUT_PANEL
+ { "/View/'Pop Out' Control Info Panel", NULL, popout_panel, 0, NULL }, 
+#endif	/* ALLOW_POPOUT_PANEL */
  { "/View/Statistics", NULL,       showStatsCB, 0, NULL },
  { "/View/Session Details", NULL,  showSessionCB, 0, NULL },
  { "/_Raise ticket",  NULL,        NULL, 0, "<LastBranch>" },
@@ -449,9 +454,18 @@ static void handle_option( gpointer data, guint callback_action, GtkWidget *w )
 #endif /* ED_G_NEVER_INCLUDE_THIS_CODE */
 
 
-
-
-
+#ifdef ALLOW_POPOUT_PANEL
+static void popout_panel( gpointer data, guint callback_action, GtkWidget *w ) 
+{
+  GtkWidget *toplevel;
+  ZMap zmap = (ZMap)data;
+  
+  if((toplevel = zMapGUIPopOutWidget(zmap->button_info_box, zmap->zmap_id)))
+    gtk_widget_show_all(toplevel);
+  
+  return ;
+}
+#endif /* ALLOW_POPOUT_PANEL */
 
 /* Load a new sequence into a zmap. */
 static void newCB(gpointer cb_data, guint callback_action, GtkWidget *w)
diff --git a/src/zmapControl/zmapControl_P.h b/src/zmapControl/zmapControl_P.h
index 3d251e252..7bf65d1ed 100755
--- a/src/zmapControl/zmapControl_P.h
+++ b/src/zmapControl/zmapControl_P.h
@@ -25,9 +25,9 @@
  * Description: Private header for interface that creates/manages/destroys
  *              instances of ZMaps.
  * HISTORY:
- * Last edited: May  8 14:48 2009 (edgrif)
+ * Last edited: Jun  7 00:44 2009 (rds)
  * Created: Thu Jul 24 14:39:06 2003 (edgrif)
- * CVS info:   $Id: zmapControl_P.h,v 1.72 2009-05-08 14:44:39 edgrif Exp $
+ * CVS info:   $Id: zmapControl_P.h,v 1.73 2009-06-08 09:17:58 rds Exp $
  *-------------------------------------------------------------------
  */
 #ifndef ZMAP_CONTROL_P_H
@@ -100,6 +100,7 @@ typedef struct _ZMapStruct
 
   GtkWidget       *hpane ;				    /* Holds the navigator and the view(s). */
 
+  GtkWidget       *button_info_box;
 
   /* Main control buttons. */
   GtkWidget *stop_button, *load_button,
-- 
GitLab