[the-board] [ui] Factor out MainToolbar from mainWindow.js
- From: Lucas Rocha <lucasr src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [the-board] [ui] Factor out MainToolbar from mainWindow.js
- Date: Mon, 7 Feb 2011 23:38:04 +0000 (UTC)
commit 2f1dede8abff3cc273da04662101ab99c2270539
Author: Lucas Rocha <lucasr gnome org>
Date: Mon Feb 7 23:18:10 2011 +0000
[ui] Factor out MainToolbar from mainWindow.js
src/Makefile-js.am | 1 +
src/js/ui/mainToolbar.js | 67 ++++++++++++++++++++++++++++++++++++++++++++++
src/js/ui/mainWindow.js | 36 +++---------------------
3 files changed, 73 insertions(+), 31 deletions(-)
---
diff --git a/src/Makefile-js.am b/src/Makefile-js.am
index 826288d..9854f30 100644
--- a/src/Makefile-js.am
+++ b/src/Makefile-js.am
@@ -10,6 +10,7 @@ dist_jsui_DATA = \
js/ui/application.js \
js/ui/background.js \
js/ui/main.js \
+ js/ui/mainToolbar.js \
js/ui/mainWindow.js \
js/ui/page.js \
js/ui/pageButton.js \
diff --git a/src/js/ui/mainToolbar.js b/src/js/ui/mainToolbar.js
new file mode 100644
index 0000000..35e540b
--- /dev/null
+++ b/src/js/ui/mainToolbar.js
@@ -0,0 +1,67 @@
+// standard imports
+const Lang = imports.lang;
+
+// ui imports
+const Toolbar = imports.ui.toolbar;
+const ToolBoxBackgrounds = imports.ui.toolBoxBackgrounds;
+const ToolBoxPages = imports.ui.toolBoxPages;
+const ToolBoxThings = imports.ui.toolBoxThings;
+
+function MainToolbar(args) {
+ this._init(args);
+}
+
+MainToolbar.prototype = {
+ __proto__: Toolbar.Toolbar.prototype,
+
+ _init : function(args) {
+ if ('context' in args) {
+ this._context = args.context;
+ } else {
+ throw new Error("MainToolbar context is required");
+ }
+
+ Toolbar.Toolbar.prototype._init.apply(this, [args]);
+
+ this._createToolBoxPages();
+ this._createToolBoxThings();
+ this._createToolBoxBackgrounds();
+ },
+
+ _createToolBoxPages : function() {
+ this._toolBoxPages =
+ new ToolBoxPages.ToolBoxPages({ context: this._context });
+
+ this.addToolBox(this._toolBoxPages);
+ },
+
+ _createToolBoxThings : function() {
+ let mainWindow = this._context.mainWindow;
+
+ this._toolBoxThings =
+ new ToolBoxThings.ToolBoxThings({ mainWindow: mainWindow });
+
+ this.addToolBox(this._toolBoxThings);
+ },
+
+ _createToolBoxBackgrounds : function() {
+ let mainWindow = this._context.mainWindow;
+
+ this._toolBoxBackgrounds =
+ new ToolBoxBackgrounds.ToolBoxBackgrounds({ mainWindow: mainWindow });
+
+ this.addToolBox(this._toolBoxBackgrounds);
+ },
+
+ // FIXME: remove once MainWindow is not using
+ // this getter anymore
+ get toolBoxBackgrounds() {
+ return this._toolBoxBackgrounds;
+ },
+
+ // FIXME: remove once MainWindow is not using
+ // this getter anymore
+ get toolBoxPages() {
+ return this._toolBoxPages;
+ }
+}
diff --git a/src/js/ui/mainWindow.js b/src/js/ui/mainWindow.js
index b944463..c24c0ca 100644
--- a/src/js/ui/mainWindow.js
+++ b/src/js/ui/mainWindow.js
@@ -14,14 +14,12 @@ const GtkClutter = imports.gi.GtkClutter;
const Mx = imports.gi.Mx;
// ui imports
+const MainToolbar = imports.ui.mainToolbar;
const Page = imports.ui.page;
const PhotoThing = imports.ui.things.photo;
const Thing = imports.ui.thing;
const ToolBox = imports.ui.toolBox;
-const ToolBoxBackgrounds = imports.ui.toolBoxBackgrounds;
const Toolbar = imports.ui.toolbar;
-const ToolBoxPages = imports.ui.toolBoxPages;
-const ToolBoxThings = imports.ui.toolBoxThings;
// model imports
const PageManager = imports.model.pageManager;
@@ -209,14 +207,11 @@ MainWindow.prototype = {
},
_createMainToolbar : function() {
- this._mainToolbar = new Toolbar.Toolbar();
+ this._mainToolbar =
+ new MainToolbar.MainToolbar({ context: this._context });
this._mainToolbar.actor.depth = _LAYER_TOOLBAR;
- this._createToolBoxPages();
- this._createToolBoxThings();
- this._createToolBoxBackgrounds();
-
this._contentBox.append(this._mainToolbar.actor,
Tb.BoxPackFlags.FIXED);
@@ -269,13 +264,6 @@ MainWindow.prototype = {
Tb.BoxAlignment.START);
},
- _createToolBoxPages : function() {
- this._toolBoxPages =
- new ToolBoxPages.ToolBoxPages({ context: this._context });
-
- this._mainToolbar.addToolBox(this._toolBoxPages);
- },
-
_createToolBoxAlign : function() {
this._toolBoxAlign =
new ToolBox.ToolBox({ title: Gettext.gettext("Align") });
@@ -329,20 +317,6 @@ MainWindow.prototype = {
this._selectionToolbar.addToolBox(this._toolBoxRemove);
},
- _createToolBoxThings : function() {
- this._toolBoxThings =
- new ToolBoxThings.ToolBoxThings({ mainWindow: this });
-
- this._mainToolbar.addToolBox(this._toolBoxThings);
- },
-
- _createToolBoxBackgrounds : function() {
- this._toolBoxBackgrounds =
- new ToolBoxBackgrounds.ToolBoxBackgrounds({ mainWindow: this });
-
- this._mainToolbar.addToolBox(this._toolBoxBackgrounds);
- },
-
_createContext : function() {
this._context = { application: this._application,
gtkWindow: this._gtkWindow,
@@ -879,7 +853,7 @@ MainWindow.prototype = {
// once model of current page is loaded, it's safe to
// update tool box with current state
let backgroundId = this._currentPage.model.background;
- this._toolBoxBackgrounds.setCurrentBackground(backgroundId);
+ this._mainToolbar.toolBoxBackgrounds.setCurrentBackground(backgroundId);
}
},
@@ -912,7 +886,7 @@ MainWindow.prototype = {
this._currentPage = new Page.Page({ context: this._context,
model: pageModel });
- this._toolBoxPages.setCurrentPage(pageModel);
+ this._mainToolbar.toolBoxPages.setCurrentPage(pageModel);
this._currentPage.actor.depth = _LAYER_PAGE;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]