Add example extension that shows a status in the change header bar
Change-Id: I32972f1c6e29719bd3b0950cb483282e3b27aa0a
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
diff --git a/src/main/java/com/googlesource/gerrit/plugins/cookbook/client/ChangeScreenStatusExtension.java b/src/main/java/com/googlesource/gerrit/plugins/cookbook/client/ChangeScreenStatusExtension.java
new file mode 100644
index 0000000..e0ceeed
--- /dev/null
+++ b/src/main/java/com/googlesource/gerrit/plugins/cookbook/client/ChangeScreenStatusExtension.java
@@ -0,0 +1,39 @@
+// Copyright (C) 2015 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.googlesource.gerrit.plugins.cookbook.client;
+
+import com.google.gerrit.plugin.client.extension.Panel;
+import com.google.gwt.dom.client.Style.Unit;
+import com.google.gwt.user.client.ui.FlowPanel;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.InlineLabel;
+
+/**
+ * Extension for change screen that displays a status in the header bar.
+ */
+public class ChangeScreenStatusExtension extends FlowPanel {
+ static class Factory implements Panel.EntryPoint {
+ @Override
+ public void onLoad(Panel panel) {
+ panel.setWidget(new ChangeScreenStatusExtension());
+ }
+ }
+
+ ChangeScreenStatusExtension() {
+ getElement().getStyle().setPadding(5, Unit.PX);
+ add(new Image(CookBookPlugin.RESOURCES.greenCheck()));
+ add(new InlineLabel("OK"));
+ }
+}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/cookbook/client/CookBookPlugin.java b/src/main/java/com/googlesource/gerrit/plugins/cookbook/client/CookBookPlugin.java
index 9743fdd..36fe6a7 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/cookbook/client/CookBookPlugin.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/cookbook/client/CookBookPlugin.java
@@ -15,10 +15,14 @@
package com.googlesource.gerrit.plugins.cookbook.client;
import com.google.gerrit.client.GerritUiExtensionPoint;
+import com.google.gerrit.client.Resources;
import com.google.gerrit.plugin.client.Plugin;
import com.google.gerrit.plugin.client.PluginEntryPoint;
+import com.google.gwt.core.client.GWT;
public class CookBookPlugin extends PluginEntryPoint {
+ public static final Resources RESOURCES = GWT.create(Resources.class);
+
@Override
public void onPluginLoad() {
Plugin.get().screen("", new IndexScreen.Factory());
@@ -27,5 +31,7 @@
Plugin.get().panel(
GerritUiExtensionPoint.CHANGE_SCREEN_BELOW_CHANGE_INFO_BLOCK,
new CookBookChangeScreenExtension.Factory());
+ Plugin.get().panel(GerritUiExtensionPoint.CHANGE_SCREEN_HEADER,
+ new ChangeScreenStatusExtension.Factory());
}
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/cookbook/client/IndexScreen.java b/src/main/java/com/googlesource/gerrit/plugins/cookbook/client/IndexScreen.java
index 0edf949..774ec3d 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/cookbook/client/IndexScreen.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/cookbook/client/IndexScreen.java
@@ -14,9 +14,7 @@
package com.googlesource.gerrit.plugins.cookbook.client;
-import com.google.gerrit.client.Resources;
import com.google.gerrit.plugin.client.screen.Screen;
-import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.Scheduler;
import com.google.gwt.core.client.Scheduler.ScheduledCommand;
import com.google.gwt.event.dom.client.ClickEvent;
@@ -45,14 +43,13 @@
private TextBox usernameTxt;
private TextArea greetingTxt;
- private Resources RESOURCES = GWT.create(Resources.class);
IndexScreen() {
setStyleName("cookbook-panel");
Panel labelImagePanel = new HorizontalPanel();
Panel usernamePanel = new VerticalPanel();
- Image img = new Image(RESOURCES.info());
+ Image img = new Image(CookBookPlugin.RESOURCES.info());
img.setTitle("User to send greetings to");
labelImagePanel.add(new Label("Username"));
labelImagePanel.add(img);