| Index: chrome/browser/gtk/bookmark_editor_gtk.h
|
| diff --git a/chrome/browser/gtk/bookmark_editor_gtk.h b/chrome/browser/gtk/bookmark_editor_gtk.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..1dbdbe8ea40149f2ced2e3e450bdb1181d608479
|
| --- /dev/null
|
| +++ b/chrome/browser/gtk/bookmark_editor_gtk.h
|
| @@ -0,0 +1,110 @@
|
| +// Copyright (c) 2009 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef CHROME_BROWSER_GTK_BOOKMARK_EDITOR_GTK_H_
|
| +#define CHROME_BROWSER_GTK_BOOKMARK_EDITOR_GTK_H_
|
| +
|
| +#include <gtk/gtk.h>
|
| +
|
| +#include "chrome/browser/bookmarks/bookmark_editor.h"
|
| +#include "chrome/browser/bookmarks/bookmark_model.h"
|
| +
|
| +// GTK version of the bookmark editor dialog.
|
| +class BookmarkEditorGtk : public BookmarkEditor,
|
| + public BookmarkModelObserver {
|
| + public:
|
| + BookmarkEditorGtk(GtkWindow* window,
|
| + Profile* profile,
|
| + BookmarkNode* parent,
|
| + BookmarkNode* node,
|
| + BookmarkEditor::Configuration configuration,
|
| + BookmarkEditor::Handler* handler);
|
| +
|
| + virtual ~BookmarkEditorGtk();
|
| +
|
| + void Show();
|
| + void Close();
|
| +
|
| + private:
|
| + void Init(GtkWindow* parent_window);
|
| +
|
| + // BookmarkModel observer methods. Any structural change results in
|
| + // resetting the tree model.
|
| + virtual void Loaded(BookmarkModel* model) { }
|
| + virtual void BookmarkNodeMoved(BookmarkModel* model,
|
| + BookmarkNode* old_parent,
|
| + int old_index,
|
| + BookmarkNode* new_parent,
|
| + int new_index);
|
| + virtual void BookmarkNodeAdded(BookmarkModel* model,
|
| + BookmarkNode* parent,
|
| + int index);
|
| + virtual void BookmarkNodeRemoved(BookmarkModel* model,
|
| + BookmarkNode* parent,
|
| + int index,
|
| + BookmarkNode* node);
|
| + virtual void BookmarkNodeChanged(BookmarkModel* model,
|
| + BookmarkNode* node) {}
|
| + virtual void BookmarkNodeChildrenReordered(BookmarkModel* model,
|
| + BookmarkNode* node);
|
| + virtual void BookmarkNodeFavIconLoaded(BookmarkModel* model,
|
| + BookmarkNode* node) {}
|
| +
|
| + // Resets the model of the tree and updates the various buttons appropriately.
|
| + void Reset();
|
| +
|
| + // Returns the current url the user has input.
|
| + GURL GetInputURL() const;
|
| +
|
| + // Returns the title the user has input.
|
| + std::wstring GetInputTitle() const;
|
| +
|
| + void ApplyEdits();
|
| +
|
| + static void OnResponse(GtkDialog* dialog, int response_id,
|
| + BookmarkEditorGtk* window);
|
| +
|
| + static gboolean OnWindowDeleteEvent(GtkWidget* widget,
|
| + GdkEvent* event,
|
| + BookmarkEditorGtk* dialog);
|
| +
|
| + static void OnWindowDestroy(GtkWidget* widget, BookmarkEditorGtk* dialog);
|
| + static void OnEntryChanged(GtkEditable* entry, BookmarkEditorGtk* dialog);
|
| +
|
| + // Profile the entry is from.
|
| + Profile* profile_;
|
| +
|
| + // The dialog to display on screen.
|
| + GtkWidget* dialog_;
|
| + GtkWidget* name_entry_;
|
| + GtkWidget* url_entry_;
|
| + GtkWidget* close_button_;
|
| + GtkWidget* ok_button_;
|
| + GtkWidget* folder_tree_;
|
| +
|
| + // TODO(erg): BookmarkEditorView has an EditorTreeModel object here; convert
|
| + // that into a GObject that implements the interface GtkTreeModel.
|
| +
|
| + // Initial parent to select. Is only used if node_ is NULL.
|
| + BookmarkNode* parent_;
|
| +
|
| + // Node being edited. Is NULL if creating a new node.
|
| + BookmarkNode* node_;
|
| +
|
| + // Mode used to create nodes from.
|
| + BookmarkModel* bb_model_;
|
| +
|
| + // If true, we're running the menu for the bookmark bar or other bookmarks
|
| + // nodes.
|
| + bool running_menu_for_root_;
|
| +
|
| + // Is the tree shown?
|
| + bool show_tree_;
|
| +
|
| + scoped_ptr<BookmarkEditor::Handler> handler_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(BookmarkEditorGtk);
|
| +};
|
| +
|
| +#endif // CHROME_BROWSER_GTK_BOOKMARK_EDITOR_GTK_H_
|
|
|