summaryrefslogtreecommitdiffstats
path: root/ash/wm/workspace_controller.h
diff options
context:
space:
mode:
authorsky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-03 19:33:50 +0000
committersky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-03 19:33:50 +0000
commitf4bb9fded21dd5595e4d8da54ad2ab4b91ef7e49 (patch)
treebd95d23d19b05670229330197ae5e067ea4297dc /ash/wm/workspace_controller.h
parent688ee168aaeafcf9b7417841a3cf9fee4f47f4af (diff)
downloadchromium_src-f4bb9fded21dd5595e4d8da54ad2ab4b91ef7e49.zip
chromium_src-f4bb9fded21dd5595e4d8da54ad2ab4b91ef7e49.tar.gz
chromium_src-f4bb9fded21dd5595e4d8da54ad2ab4b91ef7e49.tar.bz2
Changes all non-workspace code to talk to WorkspaceManager via
WorkspaceController. This is a precursor to making WorkspaceManager an interface and adding a new WorkspaceManager variant for the new window heurisics. BUG=137342 TEST=none R=ben@chromium.org Review URL: https://chromiumcodereview.appspot.com/10852003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149890 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/wm/workspace_controller.h')
-rw-r--r--ash/wm/workspace_controller.h18
1 files changed, 12 insertions, 6 deletions
diff --git a/ash/wm/workspace_controller.h b/ash/wm/workspace_controller.h
index d7d6316..ea7710e 100644
--- a/ash/wm/workspace_controller.h
+++ b/ash/wm/workspace_controller.h
@@ -6,6 +6,7 @@
#define ASH_WM_WORKSPACE_CONTROLLER_H_
#include "ash/ash_export.h"
+#include "ash/wm/workspace/workspace_types.h"
#include "base/basictypes.h"
#include "base/memory/scoped_ptr.h"
#include "ui/aura/client/activation_change_observer.h"
@@ -17,6 +18,7 @@ class Window;
namespace ash {
namespace internal {
+class ShelfLayoutManager;
class WorkspaceControllerTestHelper;
class WorkspaceEventFilter;
class WorkspaceLayoutManager;
@@ -25,19 +27,23 @@ class WorkspaceManager;
// WorkspaceController acts as a central place that ties together all the
// various workspace pieces: WorkspaceManager, WorkspaceLayoutManager and
// WorkspaceEventFilter.
-class ASH_EXPORT WorkspaceController :
- public aura::client::ActivationChangeObserver {
+class ASH_EXPORT WorkspaceController
+ : public aura::client::ActivationChangeObserver {
public:
explicit WorkspaceController(aura::Window* viewport);
virtual ~WorkspaceController();
- // Returns the workspace manager that this controller owns.
- WorkspaceManager* workspace_manager() {
- return workspace_manager_.get();
- }
+ // Returns true if in maximized or fullscreen mode.
+ bool IsInMaximizedMode() const;
// Sets the size of the grid.
void SetGridSize(int grid_size);
+ int GetGridSize() const;
+
+ // Returns the current window state.
+ WorkspaceWindowState GetWindowState() const;
+
+ void SetShelf(ShelfLayoutManager* shelf);
// aura::client::ActivationChangeObserver overrides:
virtual void OnWindowActivated(aura::Window* window,