Skip to content

Commit

Permalink
Fleshes out WidgetGTK and WindowGTK a bit more. This is still vary
Browse files Browse the repository at this point in the history
rough, but makes things work a bit more.

BUG=none
TEST=none

Review URL: http://codereview.chromium.org/113123

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15598 0039d316-1c4b-4281-b951-d872f2087c98
  • Loading branch information
sky@chromium.org committed May 7, 2009
1 parent 601bffc commit 0ae186f
Show file tree
Hide file tree
Showing 19 changed files with 615 additions and 95 deletions.
4 changes: 4 additions & 0 deletions build/build_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@
#define OS_MACOSX 1
#elif defined(__linux__)
#define OS_LINUX 1
// Use TOOLKIT_GTK on linux if TOOLKIT_VIEWS isn't defined.
#if !defined(TOOLKIT_VIEWS)
#define TOOLKIT_GTK
#endif
#elif defined(_WIN32)
#define OS_WIN 1
#else
Expand Down
12 changes: 4 additions & 8 deletions chrome/chrome.gyp
Original file line number Diff line number Diff line change
Expand Up @@ -2984,13 +2984,16 @@
'views/window/dialog_client_view.h',
'views/window/dialog_delegate.cc',
'views/window/dialog_delegate.h',
'views/window/hit_test.h',
'views/window/native_frame_view.cc',
'views/window/native_frame_view.h',
'views/window/non_client_view.cc',
'views/window/non_client_view.h',
'views/window/window.h',
'views/window/window_delegate.cc',
'views/window/window_delegate.h',
'views/window/window_gtk.cc',
'views/window/window_gtk.h',
'views/window/window_resources.h',
'views/window/window_win.cc',
'views/window/window_win.h',
Expand Down Expand Up @@ -3035,13 +3038,10 @@
'views/widget/aero_tooltip_manager.cc',
'views/widget/root_view_drop_target.cc',
'views/widget/tooltip_manager.cc',
'views/window/client_view.cc',
'views/window/custom_frame_view.cc',
'views/window/dialog_delegate.cc',
'views/window/dialog_client_view.cc',
'views/window/hit_test.cc',
'views/window/native_frame_view.cc',
'views/window/non_client_view.cc',
'views/window/window_delegate.cc',
],
}],
['OS=="win"', {
Expand Down Expand Up @@ -3089,13 +3089,9 @@
'views/widget/root_view_drop_target.cc',
'views/widget/tooltip_manager.cc',
'views/widget/widget_win.cc',
'views/window/client_view.cc',
'views/window/custom_frame_view.cc',
'views/window/dialog_delegate.cc',
'views/window/dialog_client_view.cc',
'views/window/native_frame_view.cc',
'views/window/non_client_view.cc',
'views/window/window_delegate.cc',
'views/window/window_win.cc',
],
}],
Expand Down
6 changes: 0 additions & 6 deletions chrome/common/temp_scaffolding_stubs.cc
Original file line number Diff line number Diff line change
Expand Up @@ -269,12 +269,6 @@ DownloadRequestDialogDelegate* DownloadRequestDialogDelegate::Create(
return NULL;
}

views::Window* CreateInputWindow(gfx::NativeWindow parent_hwnd,
InputWindowDelegate* delegate) {
NOTIMPLEMENTED();
return new views::Window();
}

namespace download_util {

void DragDownload(const DownloadItem* download, SkBitmap* icon) {
Expand Down
5 changes: 2 additions & 3 deletions chrome/common/temp_scaffolding_stubs.h
Original file line number Diff line number Diff line change
Expand Up @@ -234,11 +234,13 @@ class MenuItemView {
class MenuDelegate {
};

#if !defined(OS_LINUX)
class Window {
public:
void Show() { NOTIMPLEMENTED(); }
virtual void Close() { NOTIMPLEMENTED(); }
};
#endif

} // namespace views

Expand Down Expand Up @@ -277,9 +279,6 @@ class Menu {
void AppendDelegateMenuItem(int item_id) { NOTIMPLEMENTED(); }
};

views::Window* CreateInputWindow(gfx::NativeWindow parent_hwnd,
InputWindowDelegate* delegate);

class BookmarkManagerView {
public:
static BookmarkManagerView* current() {
Expand Down
18 changes: 16 additions & 2 deletions chrome/views/controls/button/native_button.cc
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@

#include "chrome/views/controls/button/native_button.h"

#if defined(OS_LINUX)
#include <gdk/gdkkeysyms.h>
#endif

#include "app/l10n_util.h"
#include "base/logging.h"

Expand Down Expand Up @@ -69,10 +73,15 @@ void NativeButton::SetLabel(const std::wstring& label) {
void NativeButton::SetIsDefault(bool is_default) {
if (is_default == is_default_)
return;
#if defined(OS_WIN)
int return_code = VK_RETURN;
#else
int return_code = GDK_Return;
#endif
if (is_default)
AddAccelerator(Accelerator(VK_RETURN, false, false, false));
AddAccelerator(Accelerator(return_code, false, false, false));
else
RemoveAccelerator(Accelerator(VK_RETURN, false, false, false));
RemoveAccelerator(Accelerator(return_code, false, false, false));
SetAppearsAsDefault(is_default);
}

Expand Down Expand Up @@ -106,6 +115,7 @@ gfx::Size NativeButton::GetPreferredSize() {

// Clamp the size returned to at least the minimum size.
if (!ignore_minimum_size_) {
#if defined(OS_WIN)
if (minimum_size_.width()) {
int min_width = font_.horizontal_dlus_to_pixels(minimum_size_.width());
sz.set_width(std::max(static_cast<int>(sz.width()), min_width));
Expand All @@ -114,6 +124,10 @@ gfx::Size NativeButton::GetPreferredSize() {
int min_height = font_.vertical_dlus_to_pixels(minimum_size_.height());
sz.set_height(std::max(static_cast<int>(sz.height()), min_height));
}
#else
if (minimum_size_.width() || minimum_size_.height())
NOTIMPLEMENTED();
#endif
}

return sz;
Expand Down
1 change: 1 addition & 0 deletions chrome/views/controls/button/native_button_wrapper.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ namespace views {
class Checkbox;
class NativeButton;
class RadioButton;
class View;

// A specialization of NativeControlWrapper that hosts a platform-native button.
class NativeButtonWrapper {
Expand Down
10 changes: 4 additions & 6 deletions chrome/views/event.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,11 @@
#define CHROME_VIEWS_EVENT_H_

#include "base/basictypes.h"
#include "base/gfx/point.h"

#if defined(OS_LINUX)
#include <gdk/gdk.h>
typedef struct _GdkEventKey GdkEventKey;
#endif

#include "base/gfx/point.h"

class OSExchangeData;

namespace views {
Expand Down Expand Up @@ -218,7 +216,7 @@ class MouseEvent : public LocatedEvent {
}

private:
DISALLOW_EVIL_CONSTRUCTORS(MouseEvent);
DISALLOW_COPY_AND_ASSIGN(MouseEvent);
};

////////////////////////////////////////////////////////////////////////////////
Expand All @@ -235,7 +233,7 @@ class KeyEvent : public Event {
// Create a new key event
KeyEvent(EventType type, int ch, int repeat_count, int message_flags);
#elif defined(OS_LINUX)
KeyEvent(GdkEventKey* event);
explicit KeyEvent(GdkEventKey* event);
#endif

int GetCharacter() const {
Expand Down
2 changes: 2 additions & 0 deletions chrome/views/event_gtk.cc
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

#include "chrome/views/event.h"

#include <gdk/gdk.h>

namespace views {

KeyEvent::KeyEvent(GdkEventKey* event)
Expand Down
14 changes: 6 additions & 8 deletions chrome/views/widget/root_view.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,17 @@
#ifndef CHROME_VIEWS_WIDGET_ROOT_VIEW_H_
#define CHROME_VIEWS_WIDGET_ROOT_VIEW_H_

#include "build/build_config.h"

#if defined(OS_LINUX)
#include <gtk/gtk.h>
#endif
#include <string>

#if defined(OS_WIN)
#include "base/ref_counted.h"
#endif

#include "build/build_config.h"
#include "chrome/views/focus/focus_manager.h"
#include "chrome/views/view.h"

#if defined(OS_LINUX)
typedef struct _GdkEventExpose GdkEventExpose;
#endif

namespace views {

class PaintTask;
Expand Down
2 changes: 2 additions & 0 deletions chrome/views/widget/root_view_gtk.cc
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

#include "chrome/views/widget/root_view.h"

#include <gtk/gtk.h>

#include "app/gfx/chrome_canvas.h"
#include "base/logging.h"
#include "skia/include/SkColor.h"
Expand Down
Loading

0 comments on commit 0ae186f

Please sign in to comment.