15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef UI_BASE_UI_BASE_TYPES_H_
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define UI_BASE_UI_BASE_TYPES_H_
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
85d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "ui/base/ui_base_export.h"
97d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace ui {
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
127d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)class Event;
137d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Window "show" state.  These values are written to disk so should not be
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// changed.
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)enum WindowShowState {
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // A default un-set state.
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  SHOW_STATE_DEFAULT    = 0,
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  SHOW_STATE_NORMAL     = 1,
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  SHOW_STATE_MINIMIZED  = 2,
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  SHOW_STATE_MAXIMIZED  = 3,
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  SHOW_STATE_INACTIVE   = 4,  // Views only, not persisted.
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  SHOW_STATE_FULLSCREEN = 5,
24b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  SHOW_STATE_DETACHED   = 6,  // Views only; detached panel.
25b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  SHOW_STATE_END        = 7   // The end of show state enum.
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Dialog button identifiers used to specify which buttons to show the user.
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)enum DialogButton {
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  DIALOG_BUTTON_NONE   = 0,
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  DIALOG_BUTTON_OK     = 1,
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  DIALOG_BUTTON_CANCEL = 2,
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Specifies the type of modality applied to a window. Different modal
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// treatments may be handled differently by the window manager.
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)enum ModalType {
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  MODAL_TYPE_NONE   = 0,  // Window is not modal.
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  MODAL_TYPE_WINDOW = 1,  // Window is modal to its transient parent.
402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  MODAL_TYPE_CHILD  = 2,  // Window is modal to a child of its transient parent.
412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  MODAL_TYPE_SYSTEM = 3   // Window is modal to all other windows.
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
447d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)// TODO(varunjain): Remove MENU_SOURCE_NONE (crbug.com/250964)
457d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)enum MenuSourceType {
467d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  MENU_SOURCE_NONE            = 0,
477d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  MENU_SOURCE_MOUSE           = 1,
487d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  MENU_SOURCE_KEYBOARD        = 2,
497d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  MENU_SOURCE_TOUCH           = 3,
507d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  MENU_SOURCE_TOUCH_EDIT_MENU = 4,
515d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  MENU_SOURCE_TYPE_LAST = MENU_SOURCE_TOUCH_EDIT_MENU
527d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)};
537d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
545d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)UI_BASE_EXPORT MenuSourceType GetMenuSourceTypeForEvent(const ui::Event& event);
557d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace ui
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // UI_BASE_UI_BASE_TYPES_H_
59