Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(89)

Side by Side Diff: views/widget/widget.h

Issue 7129022: Move last of event handlers down to NativeWidgetWin/Gtk. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 Window, like a frame window.
97 // Widgets of TYPE_WINDOW will have a NonClientView.
97 TYPE_CONTROL, // A control, like a button. 98 TYPE_CONTROL, // A control, like a button.
98 TYPE_POPUP, // An undecorated Window, with transient properties. 99 TYPE_POPUP, // An undecorated Window, with transient properties.
99 TYPE_MENU // An undecorated Window, with transient properties 100 TYPE_MENU // An undecorated Window, with transient properties
100 // specialized to menus. 101 // specialized to menus.
101 }; 102 };
102 enum Ownership { 103 enum Ownership {
103 // Default. Creator is not responsible for managing the lifetime of the 104 // Default. Creator is not responsible for managing the lifetime of the
104 // Widget, it is destroyed when the corresponding NativeWidget is 105 // Widget, it is destroyed when the corresponding NativeWidget is
105 // destroyed. 106 // destroyed.
106 NATIVE_WIDGET_OWNS_WIDGET, 107 NATIVE_WIDGET_OWNS_WIDGET,
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 gfx::Rect* rect); 158 gfx::Rect* rect);
158 159
159 // SetPureViews and IsPureViews update and return the state of a global 160 // SetPureViews and IsPureViews update and return the state of a global
160 // setting that tracks whether to use available pure Views implementations. 161 // setting that tracks whether to use available pure Views implementations.
161 static void SetPureViews(bool pure); 162 static void SetPureViews(bool pure);
162 static bool IsPureViews(); 163 static bool IsPureViews();
163 164
164 // Passes through to NativeWidget::GetWidgetForNativeView(). 165 // Passes through to NativeWidget::GetWidgetForNativeView().
165 static Widget* GetWidgetForNativeView(gfx::NativeView native_view); 166 static Widget* GetWidgetForNativeView(gfx::NativeView native_view);
166 167
168
169 // Returns the preferred size of the contents view of this window based on
170 // its localized size data. The width in cols is held in a localized string
171 // resource identified by |col_resource_id|, the height in the same fashion.
172 // TODO(beng): This should eventually live somewhere else, probably closer to
173 // ClientView.
174 static int GetLocalizedContentsWidth(int col_resource_id);
175 static int GetLocalizedContentsHeight(int row_resource_id);
176 static gfx::Size GetLocalizedContentsSize(int col_resource_id,
177 int row_resource_id);
178
167 void Init(const InitParams& params); 179 void Init(const InitParams& params);
168 180
169 // Unconverted methods ------------------------------------------------------- 181 // Unconverted methods -------------------------------------------------------
170 182
171 // TODO(beng): reorder, they've been converted now. 183 // TODO(beng): reorder, they've been converted now.
172 184
173 // Returns the gfx::NativeView associated with this Widget. 185 // Returns the gfx::NativeView associated with this Widget.
174 gfx::NativeView GetNativeView() const; 186 gfx::NativeView GetNativeView() const;
175 187
176 // Returns the gfx::NativeWindow associated with this Widget. This may return 188 // Returns the gfx::NativeWindow associated with this Widget. This may return
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
438 bool send_native_event); 450 bool send_native_event);
439 451
440 const NativeWidget* native_widget() const { return native_widget_; } 452 const NativeWidget* native_widget() const { return native_widget_; }
441 NativeWidget* native_widget() { return native_widget_; } 453 NativeWidget* native_widget() { return native_widget_; }
442 454
443 // TODO(beng): remove once Window is folded in. 455 // TODO(beng): remove once Window is folded in.
444 virtual Window* AsWindow(); 456 virtual Window* AsWindow();
445 virtual const Window* AsWindow() const; 457 virtual const Window* AsWindow() const;
446 458
447 // Overridden from NativeWidgetDelegate: 459 // Overridden from NativeWidgetDelegate:
460 virtual bool IsModal() const OVERRIDE;
461 virtual bool IsDialogBox() const OVERRIDE;
448 virtual bool CanActivate() const OVERRIDE; 462 virtual bool CanActivate() const OVERRIDE;
449 virtual bool IsInactiveRenderingDisabled() const OVERRIDE; 463 virtual bool IsInactiveRenderingDisabled() const OVERRIDE;
450 virtual void EnableInactiveRendering() OVERRIDE; 464 virtual void EnableInactiveRendering() OVERRIDE;
451 virtual void OnNativeWidgetActivationChanged(bool active) OVERRIDE; 465 virtual void OnNativeWidgetActivationChanged(bool active) OVERRIDE;
452 virtual void OnNativeFocus(gfx::NativeView focused_view) OVERRIDE; 466 virtual void OnNativeFocus(gfx::NativeView focused_view) OVERRIDE;
453 virtual void OnNativeBlur(gfx::NativeView focused_view) OVERRIDE; 467 virtual void OnNativeBlur(gfx::NativeView focused_view) OVERRIDE;
454 virtual void OnNativeWidgetCreated() OVERRIDE; 468 virtual void OnNativeWidgetCreated(const gfx::Rect& create_bounds) OVERRIDE;
455 virtual void OnNativeWidgetDestroying() OVERRIDE; 469 virtual void OnNativeWidgetDestroying() OVERRIDE;
456 virtual void OnNativeWidgetDestroyed() OVERRIDE; 470 virtual void OnNativeWidgetDestroyed() OVERRIDE;
457 virtual gfx::Size GetMinimumSize() OVERRIDE; 471 virtual gfx::Size GetMinimumSize() OVERRIDE;
458 virtual void OnNativeWidgetSizeChanged(const gfx::Size& new_size) OVERRIDE; 472 virtual void OnNativeWidgetSizeChanged(const gfx::Size& new_size) OVERRIDE;
459 virtual void OnNativeWidgetBeginUserBoundsChange() OVERRIDE; 473 virtual void OnNativeWidgetBeginUserBoundsChange() OVERRIDE;
460 virtual void OnNativeWidgetEndUserBoundsChange() OVERRIDE; 474 virtual void OnNativeWidgetEndUserBoundsChange() OVERRIDE;
461 virtual bool HasFocusManager() const OVERRIDE; 475 virtual bool HasFocusManager() const OVERRIDE;
462 virtual bool OnNativeWidgetPaintAccelerated( 476 virtual bool OnNativeWidgetPaintAccelerated(
463 const gfx::Rect& dirty_region) OVERRIDE; 477 const gfx::Rect& dirty_region) OVERRIDE;
464 virtual void OnNativeWidgetPaint(gfx::Canvas* canvas) OVERRIDE; 478 virtual void OnNativeWidgetPaint(gfx::Canvas* canvas) OVERRIDE;
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
509 // Try to create a compositor if one hasn't been created yet. 523 // Try to create a compositor if one hasn't been created yet.
510 void EnsureCompositor(); 524 void EnsureCompositor();
511 525
512 // Returns whether capture should be released on mouse release. 526 // Returns whether capture should be released on mouse release.
513 virtual bool ShouldReleaseCaptureOnMouseReleased() const; 527 virtual bool ShouldReleaseCaptureOnMouseReleased() const;
514 528
515 // Persists the window's restored position and maximized state using the 529 // Persists the window's restored position and maximized state using the
516 // window delegate. 530 // window delegate.
517 void SaveWindowPosition(); 531 void SaveWindowPosition();
518 532
533 // Sizes and positions the window just after it is created.
534 void SetInitialBounds(const gfx::Rect& bounds);
535
519 NativeWidget* native_widget_; 536 NativeWidget* native_widget_;
520 537
521 // Non-owned pointer to the Widget's delegate. May be NULL if no delegate is 538 // Non-owned pointer to the Widget's delegate. May be NULL if no delegate is
522 // being used. 539 // being used.
523 WidgetDelegate* widget_delegate_; 540 WidgetDelegate* widget_delegate_;
524 541
525 // The root of the View hierarchy attached to this window. 542 // The root of the View hierarchy attached to this window.
526 // WARNING: see warning in tooltip_manager_ for ordering dependencies with 543 // WARNING: see warning in tooltip_manager_ for ordering dependencies with
527 // this and tooltip_manager_. 544 // this and tooltip_manager_.
528 scoped_ptr<internal::RootView> root_view_; 545 scoped_ptr<internal::RootView> root_view_;
(...skipping 30 matching lines...) Expand all
559 // FRAME_TYPE_DEFAULT. 576 // FRAME_TYPE_DEFAULT.
560 FrameType frame_type_; 577 FrameType frame_type_;
561 578
562 // True when the window should be rendered as active, regardless of whether 579 // True when the window should be rendered as active, regardless of whether
563 // or not it actually is. 580 // or not it actually is.
564 bool disable_inactive_rendering_; 581 bool disable_inactive_rendering_;
565 582
566 // Set to true if the widget is in the process of closing. 583 // Set to true if the widget is in the process of closing.
567 bool widget_closed_; 584 bool widget_closed_;
568 585
586 // The saved maximized state for this window. See note in SetInitialBounds
587 // that explains why we save this.
588 bool saved_maximized_state_;
589
590 // The smallest size the window can be.
591 gfx::Size minimum_size_;
592
569 DISALLOW_COPY_AND_ASSIGN(Widget); 593 DISALLOW_COPY_AND_ASSIGN(Widget);
570 }; 594 };
571 595
572 } // namespace views 596 } // namespace views
573 597
574 #endif // VIEWS_WIDGET_WIDGET_H_ 598 #endif // VIEWS_WIDGET_WIDGET_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698