diff options
author | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-22 01:04:05 +0000 |
---|---|---|
committer | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-22 01:04:05 +0000 |
commit | 5053d91e51e7f3d6ce8275e2727b10dbbdc2c217 (patch) | |
tree | d388b15612c95b845e1ab48e23358afec9aac4ef /views/widget | |
parent | a032e66e5dc93334927ca2b1e1e8afb1ce934b15 (diff) | |
download | chromium_src-5053d91e51e7f3d6ce8275e2727b10dbbdc2c217.zip chromium_src-5053d91e51e7f3d6ce8275e2727b10dbbdc2c217.tar.gz chromium_src-5053d91e51e7f3d6ce8275e2727b10dbbdc2c217.tar.bz2 |
Decolated window support in WidgetGtk.
Will be used primarily for testing.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26778 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/widget')
-rw-r--r-- | views/widget/widget_gtk.cc | 11 | ||||
-rw-r--r-- | views/widget/widget_gtk.h | 6 |
2 files changed, 11 insertions, 6 deletions
diff --git a/views/widget/widget_gtk.cc b/views/widget/widget_gtk.cc index d1271f5..75bcc33 100644 --- a/views/widget/widget_gtk.cc +++ b/views/widget/widget_gtk.cc @@ -512,7 +512,8 @@ void WidgetGtk::CreateGtkWidget(GtkWidget* parent, const gfx::Rect& bounds) { SetViewForNative(widget_, this); } else { widget_ = gtk_window_new( - type_ == TYPE_WINDOW ? GTK_WINDOW_TOPLEVEL : GTK_WINDOW_POPUP); + (type_ == TYPE_WINDOW || type_ == TYPE_DECORATED_WINDOW) ? + GTK_WINDOW_TOPLEVEL : GTK_WINDOW_POPUP); GTK_WIDGET_UNSET_FLAGS(widget_, GTK_DOUBLE_BUFFERED); if (!bounds.size().IsEmpty()) { @@ -522,9 +523,11 @@ void WidgetGtk::CreateGtkWidget(GtkWidget* parent, const gfx::Rect& bounds) { GtkAllocation alloc = { 0, 0, bounds.width(), bounds.height() }; gtk_widget_size_allocate(widget_, &alloc); } - gtk_window_set_decorated(GTK_WINDOW(widget_), false); - // We'll take care of positioning our window. - gtk_window_set_position(GTK_WINDOW(widget_), GTK_WIN_POS_NONE); + if (type_ != TYPE_DECORATED_WINDOW) { + gtk_window_set_decorated(GTK_WINDOW(widget_), false); + // We'll take care of positioning our window. + gtk_window_set_position(GTK_WINDOW(widget_), GTK_WIN_POS_NONE); + } SetWindowForNative(widget_, static_cast<WindowGtk*>(this)); SetViewForNative(widget_, this); diff --git a/views/widget/widget_gtk.h b/views/widget/widget_gtk.h index eedb1f7..7ce3329 100644 --- a/views/widget/widget_gtk.h +++ b/views/widget/widget_gtk.h @@ -32,9 +32,11 @@ class WidgetGtk : public Widget, public MessageLoopForUI::Observer { enum Type { // Used for popup type windows (bubbles, menus ...). TYPE_POPUP, - // A top level window. + // A top level window with no title, no control buttons. + // control. TYPE_WINDOW, - + // A top level, decorated window. + TYPE_DECORATED_WINDOW, // A child widget. TYPE_CHILD }; |