home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.3 Development Libraries / SGI IRIX 6.3 Development Libraries.iso / dist6.3 / ViewKit_dev.idb / usr / include / Vk / VkListSearch.h.z / VkListSearch.h
Encoding:
C/C++ Source or Header  |  1996-09-20  |  3.4 KB  |  72 lines

  1. ////////////////////////////////////////////////////////////////////////////////
  2. ///////   Copyright 1992, Silicon Graphics, Inc.  All Rights Reserved.   ///////
  3. //                                                                            //
  4. // This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;     //
  5. // the contents of this file may not be disclosed to third parties, copied    //
  6. // or duplicated in any form, in whole or in part, without the prior written  //
  7. // permission of Silicon Graphics, Inc.                                       //
  8. //                                                                            //
  9. // RESTRICTED RIGHTS LEGEND:                                                  //
  10. // Use,duplication or disclosure by the Government is subject to restrictions //
  11. // as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data     //
  12. // and Computer Software clause at DFARS 252.227-7013, and/or in similar or   //
  13. // successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -    //
  14. // rights reserved under the Copyright Laws of the United States.             //
  15. //                                                                            //
  16. ////////////////////////////////////////////////////////////////////////////////
  17. #ifndef _VK_LIST_SEARCH_
  18. #define _VK_LIST_SEARCH_
  19.  
  20. #include <Xm/Xm.h>
  21.  
  22. typedef void (*VkListSetPosProc)(Widget, int, caddr_t);
  23. typedef void (*VkListSetMiddlePosProc)(Widget, int, caddr_t);
  24. typedef Boolean (*VkListIsViewablePosProc)(Widget, int, caddr_t);
  25. typedef void (*VkListDeselectAllItemsProc)(Widget, caddr_t);
  26. typedef void (*VkListSelectPosProc)(Widget, int, Boolean, caddr_t);
  27.  
  28. class VkListSearch {
  29.  
  30.   public:
  31.  
  32.     VkListSearch(Widget list, Widget text, Boolean usingVkList = False);
  33.     ~VkListSearch();
  34.     void setData(caddr_t d) { data = d; }
  35.     void setListSetPos(VkListSetPosProc p) { listSetPos = p; }
  36.     void setListSetMiddlePos(VkListSetMiddlePosProc p) { listSetMiddlePos = p; }
  37.     void setListIsViewablePos(VkListIsViewablePosProc p) { listIsViewablePos = p; }
  38.     void setListDeselectAllItems(VkListDeselectAllItemsProc p) { listDeselectAllItems = p; }
  39.     void setListSelectPos(VkListSelectPosProc p) { listSelectPos = p; }
  40.     
  41.     static void search_change_stub(Widget widget, caddr_t tag,
  42.                    XmAnyCallbackStruct *data);
  43.     static void xmListSetPos(Widget w, int position, caddr_t data);
  44.     static void xmListSetMiddlePos(Widget w, int position, caddr_t data);
  45.     static Boolean xmListIsViewablePos(Widget w, int position, caddr_t data);
  46.     static void xmListDeselectAllItems(Widget w, caddr_t data);
  47.     static void xmListSelectPos(Widget w, int position, Boolean notify,
  48.                 caddr_t data);
  49.     static void vkListSetPos(Widget w, int position, caddr_t data);
  50.     static void vkListSetMiddlePos(Widget w, int position, caddr_t data);
  51.     static void vkListDeselectAllItems(Widget w, caddr_t data);
  52.     static void vkListSelectPos(Widget w, int position, Boolean notify,
  53.                 caddr_t data);
  54.   private:
  55.  
  56.     void search_change(Widget widget, caddr_t tag, XmAnyCallbackStruct *data);
  57.     Boolean do_search(int pos, char *value);
  58.     
  59.     Widget listWidget, textWidget;
  60.     char *lastSearch;
  61.     Boolean searchFailed;
  62.     int selected_index;
  63.     VkListSetPosProc listSetPos;
  64.     VkListSetMiddlePosProc listSetMiddlePos;
  65.     VkListIsViewablePosProc listIsViewablePos;
  66.     VkListDeselectAllItemsProc listDeselectAllItems;
  67.     VkListSelectPosProc listSelectPos;
  68.     caddr_t data;
  69. };
  70.  
  71. #endif
  72.