1
#ifndef LAUNCHERCONTROLLER_H
2
#define LAUNCHERCONTROLLER_H
8
#include <Nux/BaseWindow.h>
10
#include "BamfLauncherIcon.h"
11
#include "LauncherModel.h"
13
#include "FavoriteStore.h"
15
#include <libbamf/libbamf.h>
16
#include <sigc++/sigc++.h>
21
class LauncherController : public sigc::trackable
25
LauncherController(Launcher* launcher, CompScreen *screen, nux::BaseWindow* window, NUX_FILE_LINE_PROTO);
26
~LauncherController();
30
BamfMatcher* m_Matcher;
31
CompAction* m_ExpoAction;
34
LauncherModel* _model;
35
nux::BaseWindow* m_Window;
36
std::list<LauncherIcon *> m_Icons;
37
FavoriteStore* m_FavoriteStore;
39
void InsertExpoAction ();
41
void RegisterIcon (LauncherIcon *icon);
43
void CreateFavorite (const char *file_path);
47
void OnIconShow (void *sender);
49
void OnIconHide (void *sender);
51
void OnIconRemove (void *sender);
53
void OnExpoClicked ();
57
static bool BamfTimerCallback (void *data);
59
static void OnViewOpened (BamfMatcher *matcher, BamfView *view, gpointer data);
62
#endif // LAUNCHERCONTROLLER_H