Flu_Combo_List.cpp
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:3k
源码类别:

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: Flu_Combo_List.cpp,v $
  4.  * PRODUCTION Revision 1000.1  2004/06/01 21:05:40  gouriano
  5.  * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.2
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. /*
  10.  * These files were imported into NCBI's CVS directly from FLU version 2.9.1.
  11.  * Modifications to the source are listed below.
  12.  *
  13.  * ==========================================================================
  14.  * $Log: Flu_Combo_List.cpp,v $
  15.  * Revision 1000.1  2004/06/01 21:05:40  gouriano
  16.  * PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.2
  17.  *
  18.  * Revision 1.2  2004/05/21 22:27:51  gorelenk
  19.  * Added PCH ncbi_pch.hpp
  20.  *
  21.  * Revision 1.1  2004/03/11 13:51:39  dicuccio
  22.  * Imported FLU version 2.9.1.  Altered export specifiers to match NCBI layout.
  23.  * Altered include paths to match NCBI toolkit layout.
  24.  *
  25.  * ==========================================================================
  26.  */
  27. // $Id: Flu_Combo_List.cpp,v 1000.1 2004/06/01 21:05:40 gouriano Exp $
  28. /***************************************************************
  29.  *                FLU - FLTK Utility Widgets 
  30.  *  Copyright (C) 2002 Ohio Supercomputer Center, Ohio State University
  31.  *
  32.  * This file and its content is protected by a software license.
  33.  * You should have received a copy of this license with this file.
  34.  * If not, please contact the Ohio Supercomputer Center immediately:
  35.  * Attn: Jason Bryan Re: FLU 1224 Kinnear Rd, Columbus, Ohio 43212
  36.  * 
  37.  ***************************************************************/
  38. #include <ncbi_pch.hpp>
  39. #include <stdio.h>
  40. #include <FL/Fl.H>
  41. #include <FL/fl_draw.H>
  42. #include <string.h>
  43. #include <stdlib.h>
  44. #include <FL/math.h>
  45. #include <gui/widgets/FLU/Flu_Combo_List.h>
  46. Flu_Combo_List :: Flu_Combo_List( int X, int Y, int W, int H, const char* l )
  47.   : Flu_Combo_Box( X, Y, W, H, l ), list(0,0,0,0)
  48. {
  49.   list.box( FL_FLAT_BOX );
  50.   list.callback( _cb, this );
  51.   set_combo_widget( &list );
  52. }
  53. Flu_Combo_List :: ~Flu_Combo_List()
  54. {
  55. }
  56. void Flu_Combo_List :: cb()
  57. {
  58.   if( list.value() == 0 )
  59.     selected( 0 );
  60.   else
  61.     selected( list.text( list.value() ) );
  62. }
  63. bool Flu_Combo_List :: _value( const char *v )
  64. {
  65.   // see if 'v' is in the list, and if so, make it the current selection
  66.   for( int i = 1; i <= list.size(); i++ )
  67.     {
  68.       if( strcmp( list.text(i), v ) == 0 )
  69. {
  70.   list.value( i );
  71.   return true;
  72. }
  73.     }
  74.   return false;
  75. }
  76. const char* Flu_Combo_List :: _next()
  77. {
  78.   int v = list.value();
  79.   if( v < list.size() )
  80.     list.value( v+1 );
  81.   list.middleline( list.value() );
  82.   return list.text(list.value());
  83. }
  84. const char* Flu_Combo_List :: _previous()
  85. {
  86.   int v = list.value();
  87.   if( v > 1 )
  88.     list.value( v-1 );
  89.   list.middleline( list.value() );
  90.   return list.text(list.value());
  91. }