61
61
// and to discourage the views or controllers from saving references to these. Instead
62
62
// please use GetId(), which will return a pointer that you can guarentee will be valid
63
63
// and you can use to do lookups to views.
64
virtual const void * GetId () const = 0;
65
virtual const char * GetName () const = 0;
66
virtual const char * GetIcon () const = 0;
67
virtual const char * GetMimeType() const = 0;
68
virtual const char * GetURI () const = 0;
69
virtual const char * GetComment () const = 0;
64
virtual const void* GetId() const = 0;
65
virtual const char* GetName() const = 0;
66
virtual const char* GetIcon() const = 0;
67
virtual const char* GetMimeType() const = 0;
68
virtual const char* GetURI() const = 0;
69
virtual const char* GetComment() const = 0;
72
72
class PlaceEntry : public sigc::trackable
76
typedef sigc::slot<void, PlaceEntry *, PlaceEntrySection&> SectionForeachCallback;
77
typedef sigc::slot<void, PlaceEntry *, PlaceEntryGroup&> GroupForeachCallback;
78
typedef sigc::slot<void, PlaceEntry *, PlaceEntryGroup&, PlaceEntryResult&> ResultForeachCallback;
80
virtual Place * GetParent () = 0;
82
virtual const char * GetId () = 0;
83
virtual const char * GetName () = 0;
84
virtual const char * GetIcon () = 0;
85
virtual const char * GetDescription () = 0;
86
virtual const char * GetSearchHint () = 0;
87
virtual guint64 GetShortcut () = 0;
76
typedef sigc::slot<void, PlaceEntry*, PlaceEntrySection&> SectionForeachCallback;
77
typedef sigc::slot<void, PlaceEntry*, PlaceEntryGroup&> GroupForeachCallback;
78
typedef sigc::slot<void, PlaceEntry*, PlaceEntryGroup&, PlaceEntryResult&> ResultForeachCallback;
80
virtual Place* GetParent() = 0;
82
virtual const char* GetId() = 0;
83
virtual const char* GetName() = 0;
84
virtual const char* GetIcon() = 0;
85
virtual const char* GetDescription() = 0;
86
virtual const char* GetSearchHint() = 0;
87
virtual guint64 GetShortcut() = 0;
89
89
// For ordering entries within a place
90
virtual guint32 GetPosition () = 0;
90
virtual guint32 GetPosition() = 0;
92
92
// For DND, what can this entry handle
93
virtual const char ** GetMimetypes () = 0;
95
virtual const std::map<char *, char *>& GetHints () = 0;
93
virtual const char** GetMimetypes() = 0;
95
virtual const std::map<char*, char*>& GetHints() = 0;
97
97
// Whether the entry is sensitive to input (clicks/DND)
98
virtual bool IsSensitive () = 0;
98
virtual bool IsSensitive() = 0;
100
100
// This is not really useful for views
101
virtual bool IsActive () = 0;
101
virtual bool IsActive() = 0;
103
103
// Show this entry in the launcher
104
virtual bool ShowInLauncher () = 0;
104
virtual bool ShowInLauncher() = 0;
106
106
// Include as part of global search results
107
virtual bool ShowInGlobal () = 0;
107
virtual bool ShowInGlobal() = 0;
109
109
// Important to call this when the view is active/inactive, so the place can reset itself
111
virtual void SetActive (bool is_active) = 0;
113
virtual void SetSearch (const char *search, std::map<char*, char*>& hints) = 0;
114
virtual void SetActiveSection (guint32 section_id) = 0;
115
virtual void SetGlobalSearch (const char *search, std::map<char*, char*>& hints) = 0;
117
virtual void ForeachSection (SectionForeachCallback slot) = 0;
119
virtual void ForeachGroup (GroupForeachCallback slot) = 0;
120
virtual void ForeachResult (ResultForeachCallback slot) = 0;
122
virtual void ForeachGlobalGroup (GroupForeachCallback slot) = 0;
123
virtual void ForeachGlobalResult (ResultForeachCallback slot) = 0;
125
virtual void GetResult (const void *id, ResultForeachCallback slot) = 0;
126
virtual void GetGlobalResult (const void *id, ResultForeachCallback slot) = 0;
128
virtual void ActivateResult (const void *id) = 0;
129
virtual void ActivateGlobalResult (const void *id) = 0;
111
virtual void SetActive(bool is_active) = 0;
113
virtual void SetSearch(const char* search, std::map<char*, char*>& hints) = 0;
114
virtual void SetActiveSection(guint32 section_id) = 0;
115
virtual void SetGlobalSearch(const char* search, std::map<char*, char*>& hints) = 0;
117
virtual void ForeachSection(SectionForeachCallback slot) = 0;
119
virtual void ForeachGroup(GroupForeachCallback slot) = 0;
120
virtual void ForeachResult(ResultForeachCallback slot) = 0;
122
virtual void ForeachGlobalGroup(GroupForeachCallback slot) = 0;
123
virtual void ForeachGlobalResult(ResultForeachCallback slot) = 0;
125
virtual void GetResult(const void* id, ResultForeachCallback slot) = 0;
126
virtual void GetGlobalResult(const void* id, ResultForeachCallback slot) = 0;
128
virtual void ActivateResult(const void* id) = 0;
129
virtual void ActivateGlobalResult(const void* id) = 0;
153
153
sigc::signal<void> entry_renderer_changed;
155
155
// This is not important outside of a global search aggregator
156
sigc::signal<void, PlaceEntry *> global_renderer_changed;
158
sigc::signal<void, PlaceEntry *, PlaceEntryGroup&> group_added;
159
sigc::signal<void, PlaceEntry *, PlaceEntryGroup&, PlaceEntryResult&> result_added;
160
sigc::signal<void, PlaceEntry *, PlaceEntryGroup&, PlaceEntryResult&> result_removed;
162
sigc::signal<void, PlaceEntry *, PlaceEntryGroup&> global_group_added;
163
sigc::signal<void, PlaceEntry *, PlaceEntryGroup&, PlaceEntryResult&> global_result_added;
164
sigc::signal<void, PlaceEntry *, PlaceEntryGroup&, PlaceEntryResult&> global_result_removed;
166
sigc::signal<void, const char *, guint32, std::map<const char *, const char *>&> search_finished;
156
sigc::signal<void, PlaceEntry*> global_renderer_changed;
158
sigc::signal<void, PlaceEntry*, PlaceEntryGroup&> group_added;
159
sigc::signal<void, PlaceEntry*, PlaceEntryGroup&, PlaceEntryResult&> result_added;
160
sigc::signal<void, PlaceEntry*, PlaceEntryGroup&, PlaceEntryResult&> result_removed;
162
sigc::signal<void, PlaceEntry*, PlaceEntryGroup&> global_group_added;
163
sigc::signal<void, PlaceEntry*, PlaceEntryGroup&, PlaceEntryResult&> global_result_added;
164
sigc::signal<void, PlaceEntry*, PlaceEntryGroup&, PlaceEntryResult&> global_result_removed;
166
sigc::signal<void, const char*, guint32, std::map<const char*, const char*>&> search_finished;
169
169
#endif // PLACE_ENTRY_H