BEAST/BSE - Better Audio System and Sound Engine  0.8.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
bstcluehunter.hh
Go to the documentation of this file.
00001  // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
00002 #ifndef __BST_CLUE_HUNTER_H__
00003 #define __BST_CLUE_HUNTER_H__
00004 
00005 #include <gxk/gxk.hh>
00006 
00007 #ifdef __cplusplus
00008 extern "C" {
00009 #endif /* __cplusplus */
00010 
00011 
00012 /* --- type macros --- */
00013 #define BST_TYPE_CLUE_HUNTER            (bst_clue_hunter_get_type ())
00014 #define BST_CLUE_HUNTER(object)         (GTK_CHECK_CAST ((object), BST_TYPE_CLUE_HUNTER, BstClueHunter))
00015 #define BST_CLUE_HUNTER_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), BST_TYPE_CLUE_HUNTER, BstClueHunterClass))
00016 #define BST_IS_CLUE_HUNTER(object)      (GTK_CHECK_TYPE ((object), BST_TYPE_CLUE_HUNTER))
00017 #define BST_IS_CLUE_HUNTER_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), BST_TYPE_CLUE_HUNTER))
00018 #define BST_CLUE_HUNTER_GET_CLASS(obj)  (GTK_CHECK_GET_CLASS ((obj), BST_TYPE_CLUE_HUNTER, BstClueHunterClass))
00019 
00020 
00021 /* --- typedefs --- */
00022 typedef struct  _BstClueHunterClass BstClueHunterClass;
00023 typedef struct  _BstClueHunter      BstClueHunter;
00024 
00025 
00026 /* --- structures --- */
00027 struct  _BstClueHunter
00028 {
00029   GtkWindow      window;
00030 
00031   guint          popped_up : 1;
00032   guint          completion_tag : 1;
00033   guint          pattern_matching : 1;
00034   guint          keep_history : 1;
00035   guint          clist_column : 16;
00036 
00037   gchar         *cstring;
00038 
00039   GtkWidget     *align_widget;
00040   GtkWidget     *scw;
00041   GtkCList      *clist;
00042   GtkEntry      *entry;
00043 };
00044 struct  _BstClueHunterClass
00045 {
00046   GtkWindowClass        parent_class;
00047 
00048   void  (*activate)     (BstClueHunter  *clue_hunter);
00049   void  (*popup)        (BstClueHunter  *clue_hunter);
00050   void  (*popdown)      (BstClueHunter  *clue_hunter);
00051   void  (*select_on)    (BstClueHunter  *clue_hunter,
00052                          const gchar    *string);
00053   void  (*poll_refresh) (BstClueHunter  *clue_hunter);
00054 };
00055 
00056 
00057 /* --- prototypes --- */
00058 GtkType    bst_clue_hunter_get_type             (void);
00059 void       bst_clue_hunter_popup                (BstClueHunter  *clue_hunter);
00060 void       bst_clue_hunter_popup_if_editable    (BstClueHunter  *clue_hunter);
00061 void       bst_clue_hunter_set_clist            (BstClueHunter  *clue_hunter,
00062                                                  GtkCList       *clist,
00063                                                  guint16         column);
00064 void       bst_clue_hunter_set_entry            (BstClueHunter  *clue_hunter,
00065                                                  GtkEntry       *entry);
00066 void       bst_clue_hunter_add_string           (BstClueHunter  *clue_hunter,
00067                                                  const gchar    *string);
00068 void       bst_clue_hunter_remove_string        (BstClueHunter  *clue_hunter,
00069                                                  const gchar    *string);
00070 void       bst_clue_hunter_remove_matches       (BstClueHunter  *clue_hunter,
00071                                                  const gchar    *pattern);
00072 void       bst_clue_hunter_select_on            (BstClueHunter  *clue_hunter,
00073                                                  const gchar    *string);
00074 void       bst_clue_hunter_poll_refresh         (BstClueHunter  *clue_hunter);
00075 gchar*     bst_clue_hunter_try_complete         (BstClueHunter  *clue_hunter);
00076 GtkWidget* bst_clue_hunter_create_arrow         (BstClueHunter  *clue_hunter,
00077                                                  gboolean        require_editable);
00078 gpointer   bst_clue_hunter_from_entry           (gpointer        entry);
00079 
00080 
00081 
00082 
00083 
00084 #ifdef __cplusplus
00085 }
00086 #endif /* __cplusplus */
00087 
00088 
00089 #endif  /* __BST_CLUE_HUNTER_H__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines