~om26er/ubuntu/oneiric/unity/sru-778256

« back to all changes in this revision

Viewing changes to plugins/unityshell/src/PlaceEntry.h

  • Committer: Didier Roche
  • Date: 2011-07-21 16:17:59 UTC
  • mfrom: (55.813.3 upstream)
  • Revision ID: didier.roche@canonical.com-20110721161759-osmh94x428t2bf2b
* New upstream release.
* debian/control:
  - build-dep on libnotify-dev
  - bump libnux-1.0-dev dep for ABI break

Show diffs side-by-side

added added

removed removed

Lines of Context:
35
35
  // As this class is to hide the implementation of the PlaceEntry, and will often be
36
36
  // hiding a more C-like API, the decision taken is to make all these stack allocated
37
37
  // and to discourage the views or controllers from saving references to these.
38
 
  virtual const char * GetName () const = 0;
39
 
  virtual const char * GetIcon () const = 0;
 
38
  virtual const char* GetName() const = 0;
 
39
  virtual const char* GetIcon() const = 0;
40
40
};
41
41
 
42
42
class PlaceEntryGroup
47
47
  // and to discourage the views or controllers from saving references to these. Instead
48
48
  // please use GetId(), which will return a pointer that you can guarentee will be valid
49
49
  // and you can use to do lookups to views.
50
 
  virtual const void * GetId () const = 0;
51
 
  virtual const char * GetRenderer () const = 0;
52
 
  virtual const char * GetName () const = 0;
53
 
  virtual const char * GetIcon () const = 0;
 
50
  virtual const void* GetId() const = 0;
 
51
  virtual const char* GetRenderer() const = 0;
 
52
  virtual const char* GetName() const = 0;
 
53
  virtual const char* GetIcon() const = 0;
54
54
};
55
55
 
56
56
class PlaceEntryResult
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;
70
70
};
71
71
 
72
72
class PlaceEntry : public sigc::trackable
73
73
{
74
74
public:
75
75
 
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;
79
 
 
80
 
  virtual Place * GetParent () = 0;
81
 
 
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;
88
 
  
 
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;
 
79
 
 
80
  virtual Place* GetParent() = 0;
 
81
 
 
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;
 
88
 
89
89
  // For ordering entries within a place
90
 
  virtual guint32        GetPosition  () = 0;
 
90
  virtual guint32        GetPosition() = 0;
91
91
 
92
92
  // For DND, what can this entry handle
93
 
  virtual const char ** GetMimetypes () = 0;
94
 
  
95
 
  virtual const std::map<char *, char *>& GetHints () = 0;
 
93
  virtual const char** GetMimetypes() = 0;
 
94
 
 
95
  virtual const std::map<char*, char*>& GetHints() = 0;
96
96
 
97
97
  // Whether the entry is sensitive to input (clicks/DND)
98
 
  virtual bool IsSensitive () = 0;
 
98
  virtual bool IsSensitive() = 0;
99
99
 
100
100
  // This is not really useful for views
101
 
  virtual bool IsActive    () = 0;
 
101
  virtual bool IsActive() = 0;
102
102
 
103
103
  // Show this entry in the launcher
104
 
  virtual bool ShowInLauncher () = 0;
 
104
  virtual bool ShowInLauncher() = 0;
105
105
 
106
106
  // Include as part of global search results
107
 
  virtual bool ShowInGlobal () = 0;
 
107
  virtual bool ShowInGlobal() = 0;
108
108
 
109
109
  // Important to call this when the view is active/inactive, so the place can reset itself
110
110
  // if necessary
111
 
  virtual void SetActive        (bool is_active) = 0;
112
 
 
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;
116
 
 
117
 
  virtual void ForeachSection (SectionForeachCallback slot) = 0;
118
 
 
119
 
  virtual void ForeachGroup  (GroupForeachCallback slot) = 0;
120
 
  virtual void ForeachResult (ResultForeachCallback slot) = 0;
121
 
 
122
 
  virtual void ForeachGlobalGroup  (GroupForeachCallback slot) = 0;
123
 
  virtual void ForeachGlobalResult (ResultForeachCallback slot) = 0;
124
 
 
125
 
  virtual void GetResult (const void *id, ResultForeachCallback slot) = 0;
126
 
  virtual void GetGlobalResult (const void *id, ResultForeachCallback slot) = 0;
127
 
 
128
 
  virtual void ActivateResult (const void *id) = 0;
129
 
  virtual void ActivateGlobalResult (const void *id) = 0;
 
111
  virtual void SetActive(bool is_active) = 0;
 
112
 
 
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;
 
116
 
 
117
  virtual void ForeachSection(SectionForeachCallback slot) = 0;
 
118
 
 
119
  virtual void ForeachGroup(GroupForeachCallback slot) = 0;
 
120
  virtual void ForeachResult(ResultForeachCallback slot) = 0;
 
121
 
 
122
  virtual void ForeachGlobalGroup(GroupForeachCallback slot) = 0;
 
123
  virtual void ForeachGlobalResult(ResultForeachCallback slot) = 0;
 
124
 
 
125
  virtual void GetResult(const void* id, ResultForeachCallback slot) = 0;
 
126
  virtual void GetGlobalResult(const void* id, ResultForeachCallback slot) = 0;
 
127
 
 
128
  virtual void ActivateResult(const void* id) = 0;
 
129
  virtual void ActivateGlobalResult(const void* id) = 0;
130
130
 
131
131
  // Signals
132
132
 
136
136
  sigc::signal<void>                          state_changed;
137
137
 
138
138
  sigc::signal<void, guint32>                 position_changed;
139
 
  sigc::signal<void, const char **>          mimetypes_changed;
 
139
  sigc::signal<void, const char**>          mimetypes_changed;
140
140
  sigc::signal<void, bool>                    sensitive_changed;
141
141
 
142
142
  // If ShowInLauncher or ShowInGlobal changes
144
144
 
145
145
  // We don't use this too much right now
146
146
  sigc::signal<void>                          hints_changed;
147
 
 
 
147
 
148
148
  // Should be very rare
149
149
  sigc::signal<void>                          sections_model_changed;
150
150
 
153
153
  sigc::signal<void>                          entry_renderer_changed;
154
154
 
155
155
  // This is not important outside of a global search aggregator
156
 
  sigc::signal<void, PlaceEntry *>            global_renderer_changed;
157
 
 
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;
161
 
 
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;
165
 
 
166
 
  sigc::signal<void, const char *, guint32, std::map<const char *, const char *>&> search_finished;
 
156
  sigc::signal<void, PlaceEntry*>            global_renderer_changed;
 
157
 
 
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;
 
161
 
 
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;
 
165
 
 
166
  sigc::signal<void, const char*, guint32, std::map<const char*, const char*>&> search_finished;
167
167
};
168
168
 
169
169
#endif // PLACE_ENTRY_H