| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef VIEWS_WIDGET_WIDGET_H_ | 5 #ifndef VIEWS_WIDGET_WIDGET_H_ |
| 6 #define VIEWS_WIDGET_WIDGET_H_ | 6 #define VIEWS_WIDGET_WIDGET_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 86 public FocusTraversable { | 86 public FocusTraversable { |
| 87 public: | 87 public: |
| 88 enum FrameType { | 88 enum FrameType { |
| 89 FRAME_TYPE_DEFAULT, // Use whatever the default would be. | 89 FRAME_TYPE_DEFAULT, // Use whatever the default would be. |
| 90 FRAME_TYPE_FORCE_CUSTOM, // Force the custom frame. | 90 FRAME_TYPE_FORCE_CUSTOM, // Force the custom frame. |
| 91 FRAME_TYPE_FORCE_NATIVE // Force the native frame. | 91 FRAME_TYPE_FORCE_NATIVE // Force the native frame. |
| 92 }; | 92 }; |
| 93 | 93 |
| 94 struct InitParams { | 94 struct InitParams { |
| 95 enum Type { | 95 enum Type { |
| 96 TYPE_WINDOW, // A Window, like a frame window. | 96 TYPE_WINDOW, // A decorated Window, like a frame window. |
| 97 // Widgets of TYPE_WINDOW will have a NonClientView. |
| 97 TYPE_WINDOW_FRAMELESS, | 98 TYPE_WINDOW_FRAMELESS, |
| 98 // An undecorated Window. | 99 // An undecorated Window. |
| 99 TYPE_CONTROL, // A control, like a button. | 100 TYPE_CONTROL, // A control, like a button. |
| 100 TYPE_POPUP, // An undecorated Window, with transient properties. | 101 TYPE_POPUP, // An undecorated Window, with transient properties. |
| 101 TYPE_MENU // An undecorated Window, with transient properties | 102 TYPE_MENU // An undecorated Window, with transient properties |
| 102 // specialized to menus. | 103 // specialized to menus. |
| 103 }; | 104 }; |
| 104 enum Ownership { | 105 enum Ownership { |
| 105 // Default. Creator is not responsible for managing the lifetime of the | 106 // Default. Creator is not responsible for managing the lifetime of the |
| 106 // Widget, it is destroyed when the corresponding NativeWidget is | 107 // Widget, it is destroyed when the corresponding NativeWidget is |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 159 gfx::Rect* rect); | 160 gfx::Rect* rect); |
| 160 | 161 |
| 161 // SetPureViews and IsPureViews update and return the state of a global | 162 // SetPureViews and IsPureViews update and return the state of a global |
| 162 // setting that tracks whether to use available pure Views implementations. | 163 // setting that tracks whether to use available pure Views implementations. |
| 163 static void SetPureViews(bool pure); | 164 static void SetPureViews(bool pure); |
| 164 static bool IsPureViews(); | 165 static bool IsPureViews(); |
| 165 | 166 |
| 166 // Passes through to NativeWidget::GetWidgetForNativeView(). | 167 // Passes through to NativeWidget::GetWidgetForNativeView(). |
| 167 static Widget* GetWidgetForNativeView(gfx::NativeView native_view); | 168 static Widget* GetWidgetForNativeView(gfx::NativeView native_view); |
| 168 | 169 |
| 170 |
| 171 // Returns the preferred size of the contents view of this window based on |
| 172 // its localized size data. The width in cols is held in a localized string |
| 173 // resource identified by |col_resource_id|, the height in the same fashion. |
| 174 // TODO(beng): This should eventually live somewhere else, probably closer to |
| 175 // ClientView. |
| 176 static int GetLocalizedContentsWidth(int col_resource_id); |
| 177 static int GetLocalizedContentsHeight(int row_resource_id); |
| 178 static gfx::Size GetLocalizedContentsSize(int col_resource_id, |
| 179 int row_resource_id); |
| 180 |
| 169 void Init(const InitParams& params); | 181 void Init(const InitParams& params); |
| 170 | 182 |
| 171 // Unconverted methods ------------------------------------------------------- | 183 // Unconverted methods ------------------------------------------------------- |
| 172 | 184 |
| 173 // TODO(beng): reorder, they've been converted now. | 185 // TODO(beng): reorder, they've been converted now. |
| 174 | 186 |
| 175 // Returns the gfx::NativeView associated with this Widget. | 187 // Returns the gfx::NativeView associated with this Widget. |
| 176 gfx::NativeView GetNativeView() const; | 188 gfx::NativeView GetNativeView() const; |
| 177 | 189 |
| 178 // Returns the gfx::NativeWindow associated with this Widget. This may return | 190 // Returns the gfx::NativeWindow associated with this Widget. This may return |
| (...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 440 bool send_native_event); | 452 bool send_native_event); |
| 441 | 453 |
| 442 const NativeWidget* native_widget() const { return native_widget_; } | 454 const NativeWidget* native_widget() const { return native_widget_; } |
| 443 NativeWidget* native_widget() { return native_widget_; } | 455 NativeWidget* native_widget() { return native_widget_; } |
| 444 | 456 |
| 445 // TODO(beng): remove once Window is folded in. | 457 // TODO(beng): remove once Window is folded in. |
| 446 virtual Window* AsWindow(); | 458 virtual Window* AsWindow(); |
| 447 virtual const Window* AsWindow() const; | 459 virtual const Window* AsWindow() const; |
| 448 | 460 |
| 449 // Overridden from NativeWidgetDelegate: | 461 // Overridden from NativeWidgetDelegate: |
| 462 virtual bool IsModal() const OVERRIDE; |
| 463 virtual bool IsDialogBox() const OVERRIDE; |
| 450 virtual bool CanActivate() const OVERRIDE; | 464 virtual bool CanActivate() const OVERRIDE; |
| 451 virtual bool IsInactiveRenderingDisabled() const OVERRIDE; | 465 virtual bool IsInactiveRenderingDisabled() const OVERRIDE; |
| 452 virtual void EnableInactiveRendering() OVERRIDE; | 466 virtual void EnableInactiveRendering() OVERRIDE; |
| 453 virtual void OnNativeWidgetActivationChanged(bool active) OVERRIDE; | 467 virtual void OnNativeWidgetActivationChanged(bool active) OVERRIDE; |
| 454 virtual void OnNativeFocus(gfx::NativeView focused_view) OVERRIDE; | 468 virtual void OnNativeFocus(gfx::NativeView focused_view) OVERRIDE; |
| 455 virtual void OnNativeBlur(gfx::NativeView focused_view) OVERRIDE; | 469 virtual void OnNativeBlur(gfx::NativeView focused_view) OVERRIDE; |
| 456 virtual void OnNativeWidgetCreated() OVERRIDE; | 470 virtual void OnNativeWidgetCreated() OVERRIDE; |
| 457 virtual void OnNativeWidgetDestroying() OVERRIDE; | 471 virtual void OnNativeWidgetDestroying() OVERRIDE; |
| 458 virtual void OnNativeWidgetDestroyed() OVERRIDE; | 472 virtual void OnNativeWidgetDestroyed() OVERRIDE; |
| 459 virtual gfx::Size GetMinimumSize() OVERRIDE; | 473 virtual gfx::Size GetMinimumSize() OVERRIDE; |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 511 // Try to create a compositor if one hasn't been created yet. | 525 // Try to create a compositor if one hasn't been created yet. |
| 512 void EnsureCompositor(); | 526 void EnsureCompositor(); |
| 513 | 527 |
| 514 // Returns whether capture should be released on mouse release. | 528 // Returns whether capture should be released on mouse release. |
| 515 virtual bool ShouldReleaseCaptureOnMouseReleased() const; | 529 virtual bool ShouldReleaseCaptureOnMouseReleased() const; |
| 516 | 530 |
| 517 // Persists the window's restored position and maximized state using the | 531 // Persists the window's restored position and maximized state using the |
| 518 // window delegate. | 532 // window delegate. |
| 519 void SaveWindowPosition(); | 533 void SaveWindowPosition(); |
| 520 | 534 |
| 535 // Sizes and positions the window just after it is created. |
| 536 void SetInitialBounds(const gfx::Rect& bounds); |
| 537 |
| 521 NativeWidget* native_widget_; | 538 NativeWidget* native_widget_; |
| 522 | 539 |
| 523 // Non-owned pointer to the Widget's delegate. May be NULL if no delegate is | 540 // Non-owned pointer to the Widget's delegate. May be NULL if no delegate is |
| 524 // being used. | 541 // being used. |
| 525 WidgetDelegate* widget_delegate_; | 542 WidgetDelegate* widget_delegate_; |
| 526 | 543 |
| 527 // The root of the View hierarchy attached to this window. | 544 // The root of the View hierarchy attached to this window. |
| 528 // WARNING: see warning in tooltip_manager_ for ordering dependencies with | 545 // WARNING: see warning in tooltip_manager_ for ordering dependencies with |
| 529 // this and tooltip_manager_. | 546 // this and tooltip_manager_. |
| 530 scoped_ptr<internal::RootView> root_view_; | 547 scoped_ptr<internal::RootView> root_view_; |
| (...skipping 30 matching lines...) Expand all Loading... |
| 561 // FRAME_TYPE_DEFAULT. | 578 // FRAME_TYPE_DEFAULT. |
| 562 FrameType frame_type_; | 579 FrameType frame_type_; |
| 563 | 580 |
| 564 // True when the window should be rendered as active, regardless of whether | 581 // True when the window should be rendered as active, regardless of whether |
| 565 // or not it actually is. | 582 // or not it actually is. |
| 566 bool disable_inactive_rendering_; | 583 bool disable_inactive_rendering_; |
| 567 | 584 |
| 568 // Set to true if the widget is in the process of closing. | 585 // Set to true if the widget is in the process of closing. |
| 569 bool widget_closed_; | 586 bool widget_closed_; |
| 570 | 587 |
| 588 // The saved maximized state for this window. See note in SetInitialBounds |
| 589 // that explains why we save this. |
| 590 bool saved_maximized_state_; |
| 591 |
| 592 // The smallest size the window can be. |
| 593 gfx::Size minimum_size_; |
| 594 |
| 571 DISALLOW_COPY_AND_ASSIGN(Widget); | 595 DISALLOW_COPY_AND_ASSIGN(Widget); |
| 572 }; | 596 }; |
| 573 | 597 |
| 574 } // namespace views | 598 } // namespace views |
| 575 | 599 |
| 576 #endif // VIEWS_WIDGET_WIDGET_H_ | 600 #endif // VIEWS_WIDGET_WIDGET_H_ |
| OLD | NEW |