| Index: views/touchui/touch_selection_controller_impl.h
|
| diff --git a/views/touchui/touch_selection_controller_impl.h b/views/touchui/touch_selection_controller_impl.h
|
| index 00ade4103c9f8dc752cbdc9001e3795a1f8b8473..42f33fa673a6276d9de6d5f6c6c4808208baf241 100644
|
| --- a/views/touchui/touch_selection_controller_impl.h
|
| +++ b/views/touchui/touch_selection_controller_impl.h
|
| @@ -6,6 +6,7 @@
|
| #define VIEWS_TOUCHUI_TOUCH_SELECTION_CONTROLLER_IMPL_H_
|
| #pragma once
|
|
|
| +#include "base/timer.h"
|
| #include "ui/gfx/point.h"
|
| #include "views/touchui/touch_selection_controller.h"
|
| #include "views/view.h"
|
| @@ -30,6 +31,7 @@ class TouchSelectionControllerImpl : public TouchSelectionController {
|
| private:
|
| friend class TouchSelectionControllerImplTest;
|
| class SelectionHandleView;
|
| + class TouchContextMenuView;
|
|
|
| // Callback to inform the client view that the selection handle has been
|
| // dragged, hence selection may need to be updated.
|
| @@ -39,6 +41,21 @@ class TouchSelectionControllerImpl : public TouchSelectionController {
|
| // system to that of the client view.
|
| void ConvertPointToClientView(SelectionHandleView* source, gfx::Point* point);
|
|
|
| + // Checks if the client view supports a context menu command.
|
| + bool IsCommandIdEnabled(int command_id) const;
|
| +
|
| + // Sends a context menu command to the client view.
|
| + void ExecuteCommand(int command_id);
|
| +
|
| + // Time to show context menu.
|
| + void ContextMenuTimerFired();
|
| +
|
| + // Convenience method to update the position/visibility of the context menu.
|
| + void UpdateContextMenu(const gfx::Point& p1, const gfx::Point& p2);
|
| +
|
| + // Convenience method for hiding context menu.
|
| + void HideContextMenu();
|
| +
|
| // Convenience methods for testing.
|
| gfx::Point GetSelectionHandle1Position();
|
| gfx::Point GetSelectionHandle2Position();
|
| @@ -48,6 +65,12 @@ class TouchSelectionControllerImpl : public TouchSelectionController {
|
| TouchSelectionClientView* client_view_;
|
| scoped_ptr<SelectionHandleView> selection_handle_1_;
|
| scoped_ptr<SelectionHandleView> selection_handle_2_;
|
| + scoped_ptr<TouchContextMenuView> context_menu_;
|
| +
|
| + // Timer to trigger |context_menu| (|context_menu| is not shown if the
|
| + // selection handles are being updated. It appears only when the handles are
|
| + // stationary for a certain amount of time).
|
| + base::OneShotTimer<TouchSelectionControllerImpl> context_menu_timer_;
|
|
|
| // Pointer to the SelectionHandleView being dragged during a drag session.
|
| SelectionHandleView* dragging_handle_;
|
|
|