From eca687589d106ff87cd4fca7bf581cb0532caf96 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Fri, 5 Sep 2008 15:47:38 +0000 Subject: Saving progress. Lots of changes. Things are a bit broken at the moment. svn path=/branches/kill-bonobo/; revision=36260 --- widgets/misc/e-search-bar.h | 213 +++++++++++++------------------------------- 1 file changed, 64 insertions(+), 149 deletions(-) (limited to 'widgets/misc/e-search-bar.h') diff --git a/widgets/misc/e-search-bar.h b/widgets/misc/e-search-bar.h index f4a8ec93c2..56883e27bc 100644 --- a/widgets/misc/e-search-bar.h +++ b/widgets/misc/e-search-bar.h @@ -17,172 +17,87 @@ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */ -#ifndef __E_SEARCH_BAR_H__ -#define __E_SEARCH_BAR_H__ + +#ifndef E_SEARCH_BAR_H +#define E_SEARCH_BAR_H #include -#include +/* Standard GObject macros */ +#define E_TYPE_SEARCH_BAR \ + (e_search_bar_get_type ()) +#define E_SEARCH_BAR(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST \ + ((obj), E_TYPE_SEARCH_BAR, ESearchBar)) +#define E_SEARCH_BAR_CLASS(cls) \ + (G_TYPE_CHECK_CLASS_CAST \ + ((cls), E_TYPE_SEARCH_BAR, ESearchBarClass)) +#define E_IS_SEARCH_BAR(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE \ + ((obj), E_TYPE_SEARCH_BAR)) +#define E_IS_SEARCH_BAR_CLASS(cls) \ + (G_TYPE_CHECK_CLASS_TYPE \ + ((cls), E_TYPE_SEARCH_BAR)) +#define E_SEARCH_BAR_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS \ + ((obj), E_TYPE_SEARCH_BAR, ESearchBarClass)) + +/* Action Names */ +#define E_SEARCH_BAR_ACTION_CLEAR "search-clear" +#define E_SEARCH_BAR_ACTION_FIND "search-find" +#define E_SEARCH_BAR_ACTION_TYPE "search-type" G_BEGIN_DECLS -/* ESearchBar - A card displaying information about a contact. - * - * The following arguments are available: - * - * name type read/write description - * --------------------------------------------------------------------------------- - * item_id int RW Which option item is currently selected. - * subitem_id int RW Which option subitem is currently selected. - * text string RW Text in the entry box. - */ - -#define E_SEARCH_BAR_TYPE (e_search_bar_get_type ()) -#define E_SEARCH_BAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_SEARCH_BAR_TYPE, ESearchBar)) -#define E_SEARCH_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), E_SEARCH_BAR_TYPE, ESearchBarClass)) -#define E_IS_SEARCH_BAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_SEARCH_BAR_TYPE)) -#define E_IS_SEARCH_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), E_SEARCH_BAR_TYPE)) - -enum _ESearchBarItemType { - ESB_ITEMTYPE_NORMAL, - ESB_ITEMTYPE_CHECK, - ESB_ITEMTYPE_RADIO, -}; -typedef enum _ESearchBarItemType ESearchBarItemType; - -typedef struct { - char *text; - int id; - int type; -} ESearchBarItem; - -typedef struct _ESearchBar ESearchBar; -typedef struct _ESearchBarClass ESearchBarClass; - -typedef void (*ESearchBarMenuFunc)(ESearchBar *esb, ESearchBarItem *menu_items); +typedef struct _ESearchBar ESearchBar; +typedef struct _ESearchBarClass ESearchBarClass; +typedef struct _ESearchBarPrivate ESearchBarPrivate; struct _ESearchBar { GtkHBox parent; - - BonoboUIComponent *ui_component; - - GSList *menu_items; - - /* item specific fields */ - GtkWidget *option; - GtkWidget *entry; - GtkWidget *suboption; /* an option menu for the choices associated with some options */ - - /* PRIVATE */ - GtkWidget *dropdown_holder; /* holds the dropdown */ - GtkWidget *option_menu; - GtkWidget *suboption_menu; - GtkWidget *option_button; - GtkWidget *clear_button; - GtkWidget *entry_box; - GtkWidget *icon_entry; - - /* show option widgets */ - GtkWidget *viewoption_box; - GtkWidget *viewoption; /* an option menu for the choices associated with some search options */ - GtkWidget *viewoption_menu; - - /* search scope widgets */ - GtkWidget *scopeoption_box; - GtkWidget *scopeoption; /* an option menu for the choices associated with scope search */ - GtkWidget *scopeoption_menu; - - guint pending_activate; - - /* The currently-selected item & subitem */ - int item_id; - int viewitem_id; /* Current View Id */ - int scopeitem_id; /* Scope of search */ - int last_search_option; - - gboolean block_search; + ESearchBarPrivate *priv; }; struct _ESearchBarClass { GtkHBoxClass parent_class; - - void (*set_menu) (ESearchBar *, ESearchBarItem *); - void (*set_option) (ESearchBar *, ESearchBarItem *); - - /* signals */ - void (*search_activated) (ESearchBar *search); - void (*search_cleared) (ESearchBar *search); - void (*query_changed) (ESearchBar *search); - void (*menu_activated) (ESearchBar *search, int item); -}; - -enum { - E_SEARCHBAR_FIND_NOW_ID = -1, - E_SEARCHBAR_CLEAR_ID = -2 }; - -GType e_search_bar_get_type (void); -void e_search_bar_construct (ESearchBar *search_bar, - ESearchBarItem *menu_items, - ESearchBarItem *option_items); -GtkWidget *e_search_bar_new (ESearchBarItem *menu_items, - ESearchBarItem *option_items); - -void e_search_bar_set_ui_component (ESearchBar *search_bar, - BonoboUIComponent *ui_component); - -void e_search_bar_set_menu (ESearchBar *search_bar, - ESearchBarItem *menu_items); -void e_search_bar_add_menu (ESearchBar *search_bar, - ESearchBarItem *menu_item); - -void e_search_bar_set_option (ESearchBar *search_bar, - ESearchBarItem *option_items); -void e_search_bar_paint (ESearchBar *search_bar); -void e_search_bar_set_viewoption (ESearchBar *search_bar, - int option_id, - ESearchBarItem *subitems); - -void e_search_bar_set_menu_sensitive (ESearchBar *search_bar, - int id, - gboolean state); - -void e_search_bar_set_item_id (ESearchBar *search_bar, - int id); -void e_search_bar_set_item_menu (ESearchBar *search_bar, - int id); -int e_search_bar_get_item_id (ESearchBar *search_bar); - -int e_search_bar_get_viewitem_id (ESearchBar *search_bar); - -void e_search_bar_set_viewitem_id (ESearchBar *search_bar, int id); +GType e_search_bar_get_type (void); +GtkWidget * e_search_bar_new (void); +GtkActionGroup *e_search_bar_get_action_group (ESearchBar *search_bar); +GtkRadioAction *e_search_bar_get_filter_action (ESearchBar *search_bar); +void e_search_bar_set_filter_action (ESearchBar *search_bar, + GtkRadioAction *action); +gint e_search_bar_get_filter_value (ESearchBar *search_bar); +void e_search_bar_set_filter_value (ESearchBar *search_bar, + gint value); +gboolean e_search_bar_get_filter_visible (ESearchBar *search_bar); +void e_search_bar_set_filter_visible (ESearchBar *search_bar, + gboolean visible); +GtkRadioAction *e_search_bar_get_search_action (ESearchBar *search_bar); +void e_search_bar_set_search_action (ESearchBar *search_bar, + GtkRadioAction *action); +const gchar * e_search_bar_get_search_text (ESearchBar *search_bar); +void e_search_bar_set_search_text (ESearchBar *search_bar, + const gchar *text); +gint e_search_bar_get_search_value (ESearchBar *search_bar); +void e_search_bar_set_search_value (ESearchBar *search_bar, + gint value); +gboolean e_search_bar_get_search_visible (ESearchBar *search_bar); +void e_search_bar_set_search_visible (ESearchBar *search_bar, + gboolean visible); +GtkRadioAction *e_search_bar_get_scope_action (ESearchBar *search_bar); +void e_search_bar_set_scope_action (ESearchBar *search_bar, + GtkRadioAction *action); +gint e_search_bar_get_scope_value (ESearchBar *search_bar); +void e_search_bar_set_scope_value (ESearchBar *search_bar, + gint value); +gboolean e_search_bar_get_scope_visible (ESearchBar *search_bar); +void e_search_bar_set_scope_visible (ESearchBar *search_bar, + gboolean visible); -void e_search_bar_set_ids (ESearchBar *search_bar, - int item_id, - int subitem_id); - -void e_search_bar_set_scopeoption (ESearchBar *search_bar, ESearchBarItem *scopeitems); - -void e_search_bar_set_scopeoption_menu (ESearchBar *search_bar, GtkMenu *menu); - -void e_search_bar_set_search_scope (ESearchBar *search_bar, int id); - -void e_search_bar_set_viewoption_menu (ESearchBar *search_bar, GtkWidget *menu); - -void e_search_bar_set_viewoption_menufunc (ESearchBar *search_bar, ESearchBarMenuFunc *menu_gen_func, void *data); - -GtkWidget *e_search_bar_get_selected_viewitem (ESearchBar *search_bar); - -int e_search_bar_get_search_scope (ESearchBar *search_bar); - -void e_search_bar_set_text (ESearchBar *search_bar, - const char *text); -char *e_search_bar_get_text (ESearchBar *search_bar); -void e_search_bar_scope_enable (ESearchBar *search_bar, int did, gboolean state); G_END_DECLS - -#endif /* __E_SEARCH_BAR_H__ */ +#endif /* E_SEARCH_BAR_H */ -- cgit v1.2.3