~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Tina5/tina-tools/tinatool/wdgts/gtk/wdgtsGtk_tw_notebook.c

Version: ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /**********
  2  * 
  3  * Copyright (c) 2003, Division of Imaging Science and Biomedical Engineering,
  4  * University of Manchester, UK.  All rights reserved.
  5  * 
  6  * Redistribution and use in source and binary forms, with or without modification, 
  7  * are permitted provided that the following conditions are met:
  8  * 
  9  *   . Redistributions of source code must retain the above copyright notice, 
 10  *     this list of conditions and the following disclaimer.
 11  *    
 12  *   . Redistributions in binary form must reproduce the above copyright notice,
 13  *     this list of conditions and the following disclaimer in the documentation 
 14  *     and/or other materials provided with the distribution.
 15  * 
 16  *   . Neither the name of the University of Manchester nor the names of its
 17  *     contributors may be used to endorse or promote products derived from this 
 18  *     software without specific prior written permission.
 19  * 
 20  * 
 21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
 22  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
 23  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
 24  * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
 25  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
 26  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
 27  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 28  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
 29  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
 30  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
 31  * POSSIBILITY OF SUCH DAMAGE.
 32  *
 33  **********
 34  * 
 35  * Program :  TINA
 36  * File    :  $Source: /home/tina/cvs/tina-tools/tinatool/wdgts/gtk/wdgtsGtk_tw_notebook.c,v $
 37  * Date    :  $Date: 2007/02/15 01:55:50 $
 38  * Version :  $Revision: 1.3 $
 39  * CVS Id  :  $Id: wdgtsGtk_tw_notebook.c,v 1.3 2007/02/15 01:55:50 paul Exp $
 40  *
 41  * Author  :  a.lacey@man.ac.uk
 42  *
 43  *********
 44 */
 45 /** 
 46  *  I have not touched this and will do so only if there is time to spare.
 47  *  GAB 13 Nov 2003
 48  */
 49 
 50 #include "wdgtsGtk_tw_notebook.h"
 51 
 52 #if HAVE_CONFIG_H
 53 #   include <config.h>
 54 #endif
 55 
 56 #include <stdio.h>
 57 #include <gtk/gtk.h>
 58 #include <tinatool/wdgts/gtk/wdgts_GtkDef.h>
 59 #include <tinatool/wdgts/gtk/wdgtsGtk_tw_tool.h>
 60 
 61 
 62 static GtkWidget  *notebk = NULL;
 63 static GtkWidget  *nbpage = NULL;
 64 static GtkWidget  *hbox = NULL;
 65 static GtkWidget  *vbox = NULL;
 66 
 67 
 68 GtkWidget *tw_get_nbpage()
 69 {
 70         return(nbpage);
 71 }
 72 
 73 
 74 GtkWidget *tw_notebook(void)
 75 {
 76         GtkWidget  *panel = tw_get_panel();
 77   
 78   if (notebk == NULL && panel != NULL)
 79   {
 80      notebk = gtk_notebook_new(); 
 81            gtk_notebook_set_tab_pos(GTK_NOTEBOOK(notebk), GTK_POS_TOP);
 82            gtk_container_add(GTK_CONTAINER(panel), notebk);
 83      gtk_widget_show(notebk);
 84   }
 85 
 86   return (notebk);
 87 }
 88 
 89 
 90 GtkWidget *tw_nb_page(char *name, void (*func)(), void *data)
 91 {
 92         GtkWidget  *tag;
 93 
 94   if (notebk == NULL)
 95           return(NULL); 
 96 
 97         nbpage = gtk_frame_new(name);
 98         gtk_container_set_border_width(GTK_CONTAINER(nbpage), 10);
 99         gtk_widget_show(nbpage);
100         vbox = gtk_vbox_new(FALSE, 0);
101   hbox = gtk_hbox_new(FALSE, 0);
102 
103         func();
104         
105   gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
106   gtk_widget_show(hbox);
107   gtk_container_add(GTK_CONTAINER(nbpage), vbox);
108   gtk_widget_show(vbox);
109         
110   tag = gtk_label_new(name);    
111         gtk_notebook_append_page(GTK_NOTEBOOK(notebk), nbpage, tag);
112 
113         return(nbpage);
114 }       
115 
116 
117 void tw_nb_newrow(void)
118 {
119   if (hbox != NULL)
120   {
121     gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
122     gtk_widget_show(hbox);
123   }
124 
125   hbox = gtk_hbox_new(FALSE, 0);
126 }
127 
128 
129 GtkWidget *tw_get_nb_panel(void)
130 {
131   return(hbox);
132 }
133 
134 
135 void tw_end_notebook(void)
136 {
137   nbpage = NULL;  /* for tw_tool information */ 
138         gtk_notebook_set_page(GTK_NOTEBOOK(notebk), 0);
139 }
140 
141 
142 
143 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.