summaryrefslogtreecommitdiffstats
path: root/views/widget/widget_gtk.cc
Commit message (Collapse)AuthorAgeFilesLines
* Decolated window support in WidgetGtk. oshima@chromium.org2009-09-221-4/+7
| | | | | | | Will be used primarily for testing. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26778 0039d316-1c4b-4281-b951-d872f2087c98
* First cut at implementation of FindBar for views / gtkdavemoore@chromium.org2009-09-091-2/+10
| | | | | | | Also had to implement change notification for TextField on views / gtk Review URL: http://codereview.chromium.org/200035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25819 0039d316-1c4b-4281-b951-d872f2087c98
* Fleshes out the tooltip implementation for views on Gtk. It doesn'tsky@chromium.org2009-09-081-1/+23
| | | | | | | | | | | | support explicit positioning of the tooltip as windows does. That'll have to be added later. BUG=none TEST=make sure tooltips still work correctly on windows Review URL: http://codereview.chromium.org/197031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25635 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes bug in views on gtk where we wouldn't necessarily paintsky@chromium.org2009-09-081-5/+13
| | | | | | | | | | | | | | | correctly on an expose. This happened if between the time we told Gtk we needed to paint and the time we got the expose event more paints were scheduled. In this case, because we were double buffered, GTK would clip to the original region we scheduled the paint for. The fix is to turn off double buffering as we're double buffering ourself. BUG=none TEST=none Review URL: http://codereview.chromium.org/198036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25621 0039d316-1c4b-4281-b951-d872f2087c98
* Lands http://codereview.chromium.org/172098 for Oshima:sky@chromium.org2009-09-021-1/+1
| | | | | | | | | | | | * fix typo in WidgetGtk * re-organize method in combobox for chrome convention BUG=none TEST=none Review URL: http://codereview.chromium.org/188009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25186 0039d316-1c4b-4281-b951-d872f2087c98
* The FocusManager stores/restores focus when the top window becomes ↵jcampan@chromium.org2009-09-011-0/+18
| | | | | | | | | | | | inactive/active. BUG=None TEST=Run the focus manager unit-tests. Review URL: http://codereview.chromium.org/164448 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25108 0039d316-1c4b-4281-b951-d872f2087c98
* Porting textfield to toolkit_views Gtk.jcampan@chromium.org2009-09-011-4/+0
| | | | | | | | | | | BUG=None TEST=Run the view unit-tests. See original review: http://codereview.chromium.org/165512/show Review URL: http://codereview.chromium.org/180061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25063 0039d316-1c4b-4281-b951-d872f2087c98
* Make the views bookmark bubble work on GTK.brettw@chromium.org2009-08-281-1/+1
| | | | | | | | | | | The combobox still isn't implemented, but this makes TextBox work, and also does some changes around the info_bubble to make sure it get created properly. TEST=none BUG=none. Review URL: http://codereview.chromium.org/177026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24821 0039d316-1c4b-4281-b951-d872f2087c98
* Adds support for initiating drags from bookmark menus.sky@chromium.org2009-08-281-2/+88
| | | | | | | | | BUG=none TEST=make sure bookmark menus work on Windows. Review URL: http://codereview.chromium.org/176006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24801 0039d316-1c4b-4281-b951-d872f2087c98
* Further refactoring of menus for GTK. I've now separated outsky@chromium.org2009-08-241-8/+16
| | | | | | | | | | | | | | | | | everything and menus some what work on GTK. I need to get painting working and I'm sure there will be fine tuning, but I want to check in all this splitting of files before someone else needs change one of these files. Thankfully I wrote an interactive ui test that exercises much of this code, and it still passes:) BUG=none TEST=thoroughly test bookmark menus on windows to make sure I didn't break them. Review URL: http://codereview.chromium.org/174274 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24098 0039d316-1c4b-4281-b951-d872f2087c98
* Relands drop support:sky@chromium.org2009-08-191-12/+140
| | | | | | | | | | | | Adds drop support for views on gtk. As X lazily provides drop data I needed to tweak the views API a bit. BUG=none TEST=none Review URL: http://codereview.chromium.org/173025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23690 0039d316-1c4b-4281-b951-d872f2087c98
* Reverts recent patch as broke build on toolkit_views.sky@chromium.org2009-08-181-140/+12
| | | | | | | | | TBR=ben BUG=none TEST=none Review URL: http://codereview.chromium.org/174023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23658 0039d316-1c4b-4281-b951-d872f2087c98
* Adds drop support for views on gtk. As X lazily provides drop data Isky@chromium.org2009-08-181-12/+140
| | | | | | | | | | | needed to tweak the views API a bit. BUG=none TEST=none Review URL: http://codereview.chromium.org/165407 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23653 0039d316-1c4b-4281-b951-d872f2087c98
* Implements WidgetGtk::SetOpacity.sky@chromium.org2009-08-121-3/+11
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/164346 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23169 0039d316-1c4b-4281-b951-d872f2087c98
* Removes bogus comments in WidgetGtk::GetBounds.sky@chromium.org2009-08-111-9/+2
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/165306 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23062 0039d316-1c4b-4281-b951-d872f2087c98
* Removes calls to RootView methods that were removed.sky@chromium.org2009-08-111-3/+0
| | | | | | | | | BUG=none TEST=none TBR=jcampan Review URL: http://codereview.chromium.org/164320 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23022 0039d316-1c4b-4281-b951-d872f2087c98
* Refactors RootViewDropTarget into a platform independent part,sky@chromium.org2009-08-111-0/+6
| | | | | | | | | | | | | | DropHelper, and the platform specific part DropTarget. I've also moved ownership/creation of the DropTarget to Widget. This makes it alot easier for the windows side, in which DropTarget must implement IDataObject. BUG=none TEST=none Review URL: http://codereview.chromium.org/165155 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23020 0039d316-1c4b-4281-b951-d872f2087c98
* Status bubble limping in TOOLKIT_VIEWS.ben@chromium.org2009-08-011-64/+60
| | | | | | | | | | | Add CreateTransparentFloatingWidget method to Widget and add Init/SetContentsView methods. BUG=none TEST=none Review URL: http://codereview.chromium.org/160474 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22229 0039d316-1c4b-4281-b951-d872f2087c98
* This CL adds accelerators to the Linux toolkit views.jcampan@chromium.org2009-07-311-2/+11
| | | | | | | | | | | The MessageLoop had to be modified to support Dispatchers on Linux. BUG=None TEST=On Windows and Linux, make sure the accelerators still work as expected. On Linux toolkit views, build and run the unit-tests. Review URL: http://codereview.chromium.org/159046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22210 0039d316-1c4b-4281-b951-d872f2087c98
* Fix NativeViewHostGtk clipping.ben@chromium.org2009-07-231-6/+8
| | | | | | | | | | | | | Basically, I introduce an additional GtkFixed into the GtkWidget hierarchy. When clipping is required, this is re-created with a X Window and clipping is performed. For some reason, Gtk+Cairo won't clip rendering to the parent GtkWidget if there isn't an associated X Window. This also fixes the GetPreferredSize implementation for NativeButtonGtk which would return ever increasing values of size each time it was called. BUG=none TEST=none Review URL: http://codereview.chromium.org/159153 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21423 0039d316-1c4b-4281-b951-d872f2087c98
* Replace instances of LINUX2 with OS_CHROMEOS and linux2 with chromeos.brettw@chromium.org2009-07-081-1/+1
| | | | | | Review URL: http://codereview.chromium.org/149367 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20210 0039d316-1c4b-4281-b951-d872f2087c98
* Basics of a new TabStrip.It's very, very rough, but I wanted to check it in ↵ben@chromium.org2009-07-071-0/+5
| | | | | | | | so I don't have to keep typing svn pset as I pass patches back and forth between machines.Behind a command line flag --enable-tabtastic2.I'm trying to split the TabContents specific stuff off of the TabStrip so it's more generic (and more easily mocked for unit testing of various layout conditions). Hence TabStrip vs. BrowserTabStrip. TabStrip may move into views/ once this process is complete.Animator is a utility that can be associated with a View that (at this point) animates that View's bounds from wherever it is now to somewhere else. The TabStrip uses this to do animations for individual Tabs that are independent of each other - a limitation of the old TabStrip is that only one animation is ever active at a time so its animations are a little jumpy compared to other products.Also, detached tab dragging shows the live contents, with all animations/video/etc.Like I said, this is really rough, but I didn't want it to grow any bigger. I will write up a design doc later.http://crbug.com/9032TEST=TBD... will finally be doing some for TabStrip layout! Review URL: http://codereview.chromium.org/42490 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20053 0039d316-1c4b-4281-b951-d872f2087c98
* Convert menu strings to UTF16, fix some views-GTK build errors.brettw@chromium.org2009-07-021-4/+1
| | | | | | Review URL: http://codereview.chromium.org/150171 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19820 0039d316-1c4b-4281-b951-d872f2087c98
* Makes WidgetGtk specify a size before realizing the window. Withoutsky@chromium.org2009-06-301-2/+10
| | | | | | | | | | | this we might not end up with the correct size. BUG=none TEST=none Review URL: http://codereview.chromium.org/149111 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19657 0039d316-1c4b-4281-b951-d872f2087c98
* Call Layout directly from SetContentsView. In the case where the Widget is ↵ben@chromium.org2009-06-181-1/+5
| | | | | | | | | | | | | | created with bounds, SetContentsView never causes a subsequent Layout because the bounds won't have changed. Fixes interactive UI tests. TBR=sky BUG=none TEST=interactive ui tests don't crash. Review URL: http://codereview.chromium.org/132029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18729 0039d316-1c4b-4281-b951-d872f2087c98
* A long standing bug in views!ben@chromium.org2009-06-181-1/+0
| | | | | | | | | | | | | | | | Every time a widget is resized, we call Layout on its view hierarchy TWICE! A while ago, I added code to views::View's default implementation of DidChangeBounds to automatically call Layout. So, after calling SetBounds on a widget, it is not necessary to call Layout. However this is exactly what WidgetWin/WidgetGtk do o_O. It turns out this doesn't matter on windows because size changes in child widgets never affect the sizes of their parents - they're just clipped to their parent's bounds. However, on Gtk it seems like sizing a child causes a size-allocate signal to be sent to the parent widget, which means we end up in infinite resize loops. BUG=none TEST=none Review URL: http://codereview.chromium.org/131026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18714 0039d316-1c4b-4281-b951-d872f2087c98
* Fix build bustage by removing another dependency on browser/gtk by creating ↵ben@chromium.org2009-06-171-44/+59
| | | | | | | | | | | a new TabContentsViewGtk specifically for views. This subclasses WidgetGtk similar to how TabContentsViewWin subclasses WidgetWin. There was a bug in NativeViewHostGtk - reparenting needs to be done atomically using gtk_widget_reparent since GtkWidgets are refcounted and when removed from a container are released, causing a crash when a TabContents is reparented. The code now compiles thanks to a stubbed BlockedPopupContainer, however there is one remaining issue - the browser window no longer paints and the app instantly hangs. However this is better than the current state so I figured I'd send the code review. Review URL: http://codereview.chromium.org/126107 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18588 0039d316-1c4b-4281-b951-d872f2087c98
* Make WidgetGtk::SetBounds use a single call if it can.sky@chromium.org2009-06-151-0/+5
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/125087 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18388 0039d316-1c4b-4281-b951-d872f2087c98
* First part of tab overview. It isn't wired up, nor is it complete, butsky@chromium.org2009-06-081-0/+11
| | | | | | | | | | | it's a good enough stage that I want to check it in. BUG=none TEST=none Review URL: http://codereview.chromium.org/119329 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17906 0039d316-1c4b-4281-b951-d872f2087c98
* Makes it possible for Widget's on GTK to have a transparentsky@chromium.org2009-06-081-2/+87
| | | | | | | | | | | | background. Additionally implements always on top and makes ImageView support borders. BUG=none TEST=none Review URL: http://codereview.chromium.org/119269 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17878 0039d316-1c4b-4281-b951-d872f2087c98
* Implement window state restoration for the views-gtk window.ben@chromium.org2009-06-041-1/+0
| | | | | | | | | | | Allows the window to be resized smaller than its current size by setting a minimum size before initiating the drag. Fixes a crash in TabContentsViewGtk due to a NULL delegate deref. BUG=none TEST=none Review URL: http://codereview.chromium.org/118227 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17641 0039d316-1c4b-4281-b951-d872f2087c98
* Implement custom window shapes as provided by the NonClientView in WindowGtk.ben@chromium.org2009-06-041-0/+4
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/119145 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17597 0039d316-1c4b-4281-b951-d872f2087c98
* Adds linux2 variable and change to WidgetGtk to make it compile.sky@chromium.org2009-06-021-0/+2
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/119057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17442 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes a couple of bugs encountered in getting info bubbles to work:sky@chromium.org2009-06-021-1/+4
| | | | | | | | | | | | | | | | . Initial bounds of windows weren't being set. . Widgets were created initially shown. This was bad for windows as the window would end up showing prematurely. . WindowGtk::window_state_ wasn't being initialized. . And then actual InfoBubble stuff: properly init the bubble, show it and position it on the monitor. BUG=none TEST=none Review URL: http://codereview.chromium.org/118102 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17401 0039d316-1c4b-4281-b951-d872f2087c98
* Moves WindowGtk::SetBounds implementation to WidgetGtk as WidgetGetksky@chromium.org2009-06-011-1/+6
| | | | | | | | | | | needs to deal with windows/popups too. BUG=none TEST=none Review URL: http://codereview.chromium.org/118082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17350 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes bad event signal name that was leading to crash.sky@chromium.org2009-05-291-3/+2
| | | | | | | | | | BUG=none TEST=none TBR=ben Review URL: http://codereview.chromium.org/118037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17264 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes couple of bugs that occur now that we can actually run views onsky@chromium.org2009-05-291-2/+10
| | | | | | | | | | | gtk again. BUG=none TEST=none TBR=ben Review URL: http://codereview.chromium.org/115961 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17261 0039d316-1c4b-4281-b951-d872f2087c98
* Splits TooltipManager so that it can be ported and stubs out the GTKsky@chromium.org2009-05-281-2/+4
| | | | | | | | | | | side. BUG=none TEST=none Review URL: http://codereview.chromium.org/114054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17076 0039d316-1c4b-4281-b951-d872f2087c98
* Makes MenuButton compile and fixes bug in GtkWidget I happened upon.sky@chromium.org2009-05-271-3/+2
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/115826 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17018 0039d316-1c4b-4281-b951-d872f2087c98
* Removes WidgetWin dependency from StatusBubbleViews so that it can compile ↵ben@chromium.org2009-05-261-38/+55
| | | | | | | | | | | | | | | | on Linux. Requires: - making SetOpacity a cross platform method on Widget, replacing SetLayeredAlpha. - moving Window::SetBounds to Widget - replacing usage of MoveWindow in StatusBubbleViews with call to new SetBounds method. BUG=none TEST=make sure transparency still works for floating widgets like - status bubble, full screen exit bubble, dragged tabs Review URL: http://codereview.chromium.org/113846 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16948 0039d316-1c4b-4281-b951-d872f2087c98
* Makes FindBarWin buildable on linux. FindBarWin should be renamed tosky@chromium.org2009-05-231-1/+22
| | | | | | | | | | | FindBarViews, but I'm leaving it as is for now. BUG=none TEST=none Review URL: http://codereview.chromium.org/113793 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16830 0039d316-1c4b-4281-b951-d872f2087c98
* Minor gtk-views cleanup:sky@chromium.org2009-05-201-14/+64
| | | | | | | | | | | | | . Makes closing widget work. . Makes clicking button send action. . Fixes ownership of native controls. BUG=none TEST=none Review URL: http://codereview.chromium.org/113657 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16532 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes delivery of mouse events in WidgetGtk. Also fixes GetRootWidgetsky@chromium.org2009-05-191-51/+133
| | | | | | | | | | | and GetWidget to match windows. BUG=none TEST=none Review URL: http://codereview.chromium.org/113603 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16431 0039d316-1c4b-4281-b951-d872f2087c98
* Adds back some code removed during Ben's landing of views renaming.sky@chromium.org2009-05-111-3/+1
| | | | | | | | | | | Adds support for GTK buttons. BUG=none TEST=none Review URL: http://codereview.chromium.org/113212 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15793 0039d316-1c4b-4281-b951-d872f2087c98
* Random cleanups and stubs to get cross platform build going.glen@chromium.org2009-05-091-0/+5
| | | | | | | | TBR=beng Review URL: http://codereview.chromium.org/115158 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15712 0039d316-1c4b-4281-b951-d872f2087c98
* Resurrect Scott's WindowGtk changes.ben@chromium.org2009-05-081-48/+172
| | | | | | | http://crbug.com/11387 Review URL: http://codereview.chromium.org/115143 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15678 0039d316-1c4b-4281-b951-d872f2087c98
* Move src/chrome/views to src/views. RS=darin http://crbug.com/11387ben@chromium.org2009-05-081-0/+386
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15604 0039d316-1c4b-4281-b951-d872f2087c98