You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2015/02/22 12:40:00 UTC
cayenne git commit: Resolved CAY-1267 - Some changes to LogDialog
Repository: cayenne
Updated Branches:
refs/heads/master cb17347f7 -> 7096da312
Resolved CAY-1267 - Some changes to LogDialog
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/7096da31
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/7096da31
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/7096da31
Branch: refs/heads/master
Commit: 7096da3125fb37557d8faa456bd52ed8817a4243
Parents: cb17347
Author: laakhbeenor <xh...@gmail.com>
Authored: Thu Feb 19 21:17:20 2015 +0100
Committer: laakhbeenor <xh...@gmail.com>
Committed: Thu Feb 19 21:17:20 2015 +0100
----------------------------------------------------------------------
.../cayenne/modeler/dialog/LogConsole.java | 23 +++++--
.../cayenne/modeler/dialog/LogConsoleView.java | 69 +++++++++++++------
.../apache/cayenne/modeler/images/popupmenu.gif | Bin 0 -> 285 bytes
3 files changed, 66 insertions(+), 26 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/7096da31/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/LogConsole.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/LogConsole.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/LogConsole.java
index d08b84b..a7d586b 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/LogConsole.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/LogConsole.java
@@ -23,12 +23,15 @@ import org.apache.cayenne.modeler.pref.ComponentGeometry;
import org.apache.cayenne.modeler.util.CayenneController;
import org.apache.cayenne.util.Util;
+import javax.swing.JToolBar;
import javax.swing.text.*;
import java.awt.*;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.text.DateFormat;
@@ -138,19 +141,25 @@ public class LogConsole extends CayenneController {
}
protected void initBindings() {
- view.getClearButton().addActionListener(new ActionListener() {
+ view.getMenuButton().addMouseListener(new MouseAdapter() {
+ public void mousePressed(MouseEvent e) {
+ view.getMenu().show(view, view.getMenuButton().getX(),view.getMenuButton().getY()+view.getMenuButton().getHeight());
+ }
+ });
+
+ view.getClearItem().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
clear();
}
});
- view.getCopyButton().addActionListener(new ActionListener() {
+ view.getCopyItem().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
copy();
}
});
- view.getDockButton().addActionListener(new ActionListener() {
+ view.getDockItem().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
/**
* Log console should be visible
@@ -162,7 +171,9 @@ public class LogConsole extends CayenneController {
}
});
}
-
+ /*public void showMenu(){
+ view.menu
+ }*/
/**
* Clears the console
*/
@@ -175,7 +186,7 @@ public class LogConsole extends CayenneController {
*/
private void appear() {
if (!getConsoleProperty(DOCKED_PROPERTY)) {
- view.getDockButton().setText("Dock");
+ view.getDockItem().setText("Dock");
if (logWindow == null) {
logWindow = new LogConsoleWindow(this);
@@ -190,7 +201,7 @@ public class LogConsole extends CayenneController {
logWindow.setVisible(true);
}
else {
- view.getDockButton().setText("Undock");
+ view.getDockItem().setText("Undock");
Application.getFrame().setDockComponent(view);
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/7096da31/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/LogConsoleView.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/LogConsoleView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/LogConsoleView.java
index bc7dedf..20b1612 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/LogConsoleView.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/LogConsoleView.java
@@ -20,6 +20,9 @@ package org.apache.cayenne.modeler.dialog;
import javax.swing.*;
import javax.swing.text.JTextComponent;
+
+import org.apache.cayenne.modeler.util.ModelerUtil;
+
import java.awt.*;
/**
@@ -34,19 +37,19 @@ public class LogConsoleView extends JPanel {
JTextComponent logView;
/**
- * Button which performs clearing the console output
+ * Item which performs clearing the console output
*/
- JButton clearButton;
+ JMenuItem clearItem;
/**
- * Button which performs copying the console output
+ * Item which performs copying the console output
*/
- JButton copyButton;
+ JMenuItem copyItem;
/**
- * Button which performs docking the window, i.e. sticking it to parent
+ * Item which performs docking the window, i.e. sticking it to parent
*/
- JButton dockButton;
+ JMenuItem dockItem;
/**
* Scrollpane containing the text area
@@ -54,6 +57,16 @@ public class LogConsoleView extends JPanel {
JScrollPane scroller;
/**
+ * PopupMenu to choose item
+ */
+ JPopupMenu menu;
+
+ /**
+ * Button which performs showing PopupMenu
+ */
+ JButton menuButton;
+
+ /**
* Constructs a new log console view component
*/
public LogConsoleView() {
@@ -75,16 +88,24 @@ public class LogConsoleView extends JPanel {
scroller = new JScrollPane(logView);
add(scroller, BorderLayout.CENTER);
- JPanel buttonsPane = new JPanel();
+ JToolBar buttonsBar = new JToolBar();
+ buttonsBar.setFloatable(false);
+
+ menu = new JPopupMenu();
+ copyItem = new JMenuItem("Copy");
+ menu.add(copyItem);
+ clearItem = new JMenuItem("Clear");
+ menu.add(clearItem);
+ dockItem = new JMenuItem("Dock");
+ menu.add(dockItem);
- copyButton = new JButton("Copy");
- clearButton = new JButton("Clear");
- dockButton = new JButton("Dock");
+ menu.setInvoker(this);
+
+ Icon icon = ModelerUtil.buildIcon("popupmenu.gif");
+ menuButton = new JButton(icon);
- buttonsPane.add(clearButton);
- buttonsPane.add(copyButton);
- buttonsPane.add(dockButton);
- add(buttonsPane, BorderLayout.SOUTH);
+ buttonsBar.add(menuButton);
+ add(buttonsBar, BorderLayout.NORTH);
//no need to center log window
setLocation(100, 100);
@@ -97,19 +118,27 @@ public class LogConsoleView extends JPanel {
return logView;
}
- protected AbstractButton getCopyButton() {
- return copyButton;
+ protected JMenuItem getCopyItem() {
+ return copyItem;
}
- protected AbstractButton getClearButton() {
- return clearButton;
+ protected JMenuItem getClearItem() {
+ return clearItem;
}
- protected AbstractButton getDockButton() {
- return dockButton;
+ protected JMenuItem getDockItem() {
+ return dockItem;
}
protected JScrollPane getScroller() {
return scroller;
}
+
+ protected AbstractButton getMenuButton() {
+ return menuButton;
+ }
+
+ protected JPopupMenu getMenu() {
+ return menu;
+ }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/7096da31/modeler/cayenne-modeler/src/main/resources/org/apache/cayenne/modeler/images/popupmenu.gif
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/resources/org/apache/cayenne/modeler/images/popupmenu.gif b/modeler/cayenne-modeler/src/main/resources/org/apache/cayenne/modeler/images/popupmenu.gif
new file mode 100644
index 0000000..c544297
Binary files /dev/null and b/modeler/cayenne-modeler/src/main/resources/org/apache/cayenne/modeler/images/popupmenu.gif differ