37
36
class LauncherModel;
39
class Controller : public sigc::trackable
38
class Controller : public unity::debug::Introspectable, public sigc::trackable
42
41
typedef std::shared_ptr<Controller> Ptr;
42
typedef std::vector<nux::ObjectPtr<Launcher> > LauncherList;
44
nux::Property<Options::Ptr> options;
45
nux::Property<bool> multiple_launchers;
44
47
Controller(Display* display);
48
Window launcher_input_window_id();
50
Launcher& launcher() const;
51
LauncherList& launchers() const;
52
Window LauncherWindowId(int launcher) const;
53
Window KeyNavLauncherInputWindowId() const;
50
55
void UpdateNumWorkspaces(int workspaces);
51
std::vector<char> GetAllShortcuts();
52
std::vector<AbstractLauncherIcon*> GetAltTabIcons();
56
std::vector<char> GetAllShortcuts() const;
57
std::vector<AbstractLauncherIcon::Ptr> GetAltTabIcons(bool current) const;
54
void PrimaryMonitorGeometryChanged(nux::Geometry const& geo);
55
59
void PushToFront();
57
61
void SetShowDesktopIcon(bool show_desktop_icon);
63
void HandleLauncherKeyPress();
64
void HandleLauncherKeyRelease(bool was_tap);
65
bool HandleLauncherKeyEvent(Display *display,
67
unsigned long key_code,
68
unsigned long key_state,
71
void KeyNavActivate();
73
void KeyNavTerminate(bool activate = true);
75
void KeyNavPrevious();
76
bool KeyNavIsActive() const;
79
// Introspectable methods
80
std::string GetName() const;
81
void AddProperties(GVariantBuilder* builder);