Home | History | Annotate | Download | only in lib
      1 // Copyright 2014 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_LIB_NODE_PRIVATE_H_
      6 #define MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_LIB_NODE_PRIVATE_H_
      7 
      8 #include "base/basictypes.h"
      9 
     10 #include "mojo/services/public/cpp/view_manager/node.h"
     11 
     12 namespace mojo {
     13 namespace view_manager {
     14 
     15 class NodePrivate {
     16  public:
     17   explicit NodePrivate(Node* node);
     18   ~NodePrivate();
     19 
     20   static Node* LocalCreate();
     21 
     22   ObserverList<NodeObserver>* observers() { return &node_->observers_; }
     23 
     24   void ClearParent() { node_->parent_ = NULL; }
     25 
     26   void set_id(Id id) { node_->id_ = id; }
     27 
     28   ViewManager* view_manager() { return node_->manager_; }
     29   void set_view_manager(ViewManager* manager) {
     30     node_->manager_ = manager;
     31   }
     32 
     33   void LocalDestroy() {
     34     node_->LocalDestroy();
     35   }
     36   void LocalAddChild(Node* child) {
     37     node_->LocalAddChild(child);
     38   }
     39   void LocalRemoveChild(Node* child) {
     40     node_->LocalRemoveChild(child);
     41   }
     42   void LocalReorder(Node* relative, OrderDirection direction) {
     43     node_->LocalReorder(relative, direction);
     44   }
     45   void LocalSetActiveView(View* view) {
     46     node_->LocalSetActiveView(view);
     47   }
     48   void LocalSetBounds(const gfx::Rect& old_bounds,
     49                       const gfx::Rect& new_bounds) {
     50     node_->LocalSetBounds(old_bounds, new_bounds);
     51   }
     52 
     53  private:
     54   Node* node_;
     55 
     56   DISALLOW_COPY_AND_ASSIGN(NodePrivate);
     57 };
     58 
     59 }  // namespace view_manager
     60 }  // namespace mojo
     61 
     62 #endif  // MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_LIB_NODE_PRIVATE_H_
     63