• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2012 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 UI_BASE_UI_BASE_TYPES_H_
6 #define UI_BASE_UI_BASE_TYPES_H_
7 
8 #include "ui/base/ui_base_export.h"
9 
10 namespace ui {
11 
12 class Event;
13 
14 // Window "show" state.  These values are written to disk so should not be
15 // changed.
16 enum WindowShowState {
17   // A default un-set state.
18   SHOW_STATE_DEFAULT    = 0,
19   SHOW_STATE_NORMAL     = 1,
20   SHOW_STATE_MINIMIZED  = 2,
21   SHOW_STATE_MAXIMIZED  = 3,
22   SHOW_STATE_INACTIVE   = 4,  // Views only, not persisted.
23   SHOW_STATE_FULLSCREEN = 5,
24   SHOW_STATE_DETACHED   = 6,  // Views only; detached panel.
25   SHOW_STATE_END        = 7   // The end of show state enum.
26 };
27 
28 // Dialog button identifiers used to specify which buttons to show the user.
29 enum DialogButton {
30   DIALOG_BUTTON_NONE   = 0,
31   DIALOG_BUTTON_OK     = 1,
32   DIALOG_BUTTON_CANCEL = 2,
33 };
34 
35 // Specifies the type of modality applied to a window. Different modal
36 // treatments may be handled differently by the window manager.
37 enum ModalType {
38   MODAL_TYPE_NONE   = 0,  // Window is not modal.
39   MODAL_TYPE_WINDOW = 1,  // Window is modal to its transient parent.
40   MODAL_TYPE_CHILD  = 2,  // Window is modal to a child of its transient parent.
41   MODAL_TYPE_SYSTEM = 3   // Window is modal to all other windows.
42 };
43 
44 // TODO(varunjain): Remove MENU_SOURCE_NONE (crbug.com/250964)
45 enum MenuSourceType {
46   MENU_SOURCE_NONE            = 0,
47   MENU_SOURCE_MOUSE           = 1,
48   MENU_SOURCE_KEYBOARD        = 2,
49   MENU_SOURCE_TOUCH           = 3,
50   MENU_SOURCE_TOUCH_EDIT_MENU = 4,
51   MENU_SOURCE_TYPE_LAST = MENU_SOURCE_TOUCH_EDIT_MENU
52 };
53 
54 UI_BASE_EXPORT MenuSourceType GetMenuSourceTypeForEvent(const ui::Event& event);
55 
56 }  // namespace ui
57 
58 #endif  // UI_BASE_UI_BASE_TYPES_H_
59