Author: mvw
Date: 2007-07-12 11:31:59-0700
New Revision: 13062
Added:
trunk/src_new/org/argouml/swingext/ArgoToolbarManager.java (contents, props changed)
Modified:
trunk/src_new/org/argouml/cognitive/ui/TabToDo.java
trunk/src_new/org/argouml/i18n/menu.properties
trunk/src_new/org/argouml/i18n/misc.properties
trunk/src_new/org/argouml/ui/ProjectBrowser.java
trunk/src_new/org/argouml/ui/TabText.java
trunk/src_new/org/argouml/ui/cmd/GenericArgoMenuBar.java
trunk/src_new/org/argouml/uml/diagram/ui/UMLDiagram.java
trunk/src_new/org/argouml/uml/ui/PropPanel.java
trunk/src_new/org/argouml/uml/ui/TabConstraints.java
trunk/src_new/org/argouml/uml/ui/TabTaggedValues.java
Log:
Patch for issue 1308, as supplied by Aleksandar.
Modified: trunk/src_new/org/argouml/cognitive/ui/TabToDo.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/cognitive/ui/TabToDo.java?view=diff&rev=13062&p1=trunk/src_new/org/argouml/cognitive/ui/TabToDo.java&p2=trunk/src_new/org/argouml/cognitive/ui/TabToDo.java&r1=13061&r2=13062
==============================================================================
--- trunk/src_new/org/argouml/cognitive/ui/TabToDo.java (original)
+++ trunk/src_new/org/argouml/cognitive/ui/TabToDo.java 2007-07-12 11:31:59-0700
@@ -35,6 +35,8 @@
import org.argouml.cognitive.ToDoItem;
import org.argouml.cognitive.critics.Wizard;
import org.argouml.configuration.Configuration;
+import org.argouml.i18n.Translator;
+import org.argouml.swingext.ArgoToolbarManager;
import org.argouml.ui.AbstractArgoJPanel;
import org.argouml.ui.TabToDoTarget;
import org.argouml.ui.targetmanager.TargetEvent;
@@ -96,7 +98,9 @@
factory.setFloatable(false);
factory.setOrientation(SwingConstants.VERTICAL);
JToolBar toolBar = factory.createToolBar();
-
+ toolBar.setName(Translator.localize(getTitle()));
+ ArgoToolbarManager.getInstance().registerToolbar(this.getClass(),
+ toolBar, 9);
add(toolBar, BorderLayout.WEST);
splitPane = new BorderSplitPane();
Modified: trunk/src_new/org/argouml/i18n/menu.properties
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/i18n/menu.properties?view=diff&rev=13062&p1=trunk/src_new/org/argouml/i18n/menu.properties&p2=trunk/src_new/org/argouml/i18n/menu.properties&r1=13061&r2=13062
==============================================================================
--- trunk/src_new/org/argouml/i18n/menu.properties (original)
+++ trunk/src_new/org/argouml/i18n/menu.properties 2007-07-12 11:31:59-0700
@@ -127,6 +127,9 @@
menu.item.snap-32 = Snap 32
menu.item.snap-32.mnemonic = 3
+menu.toolbars = Toolbars
+menu.toolbars.mnemonic = T
+
menu.item.adjust-pagebreaks.mnemonic = P
menu.item.buttons-on-selection.mnemonic = B
Modified: trunk/src_new/org/argouml/i18n/misc.properties
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/i18n/misc.properties?view=diff&rev=13062&p1=trunk/src_new/org/argouml/i18n/misc.properties&p2=trunk/src_new/org/argouml/i18n/misc.properties&r1=13061&r2=13062
==============================================================================
--- trunk/src_new/org/argouml/i18n/misc.properties (original)
+++ trunk/src_new/org/argouml/i18n/misc.properties 2007-07-12 11:31:59-0700
@@ -186,6 +186,8 @@
misc.tagged-values = Tagged Values
misc.todo-item = ToDo Item
misc.todo-unresolvable = Unable to resolve with poster of type: {0}
+misc.toolbar.diagram = Diagram
+misc.toolbar.properties = Properties
misc.tooltip.commentlink = Annotated Element
misc.transition.source-state = Transition->Source State
misc.transition.target-state = Transition->Target State
Added: trunk/src_new/org/argouml/swingext/ArgoToolbarManager.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/swingext/ArgoToolbarManager.java?view=auto&rev=13062
==============================================================================
--- (empty file)
+++ trunk/src_new/org/argouml/swingext/ArgoToolbarManager.java 2007-07-12 11:31:59-0700
@@ -0,0 +1,351 @@
+// $Id$
+// Copyright (c) 2007 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.swingext;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ComponentAdapter;
+import java.awt.event.ComponentEvent;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.util.ArrayList;
+
+import javax.swing.AbstractAction;
+import javax.swing.JCheckBoxMenuItem;
+import javax.swing.JComponent;
+import javax.swing.JMenu;
+import javax.swing.JMenuItem;
+import javax.swing.JPopupMenu;
+import javax.swing.JToolBar;
+import javax.swing.SwingUtilities;
+
+import org.argouml.configuration.Configuration;
+import org.argouml.configuration.ConfigurationKey;
+
+/**
+ * Class that handles toolbars show/hide functionality.
+ *
+ *
+ * @author Aleksandar
+ */
+public class ArgoToolbarManager {
+ /**
+ * Menu item to be shown in popup menu and submenu.
+ *
+ * @author Aleksandar
+ */
+ private class ToolbarManagerMenuItemAction extends AbstractAction {
+ /**
+ * Key to which this action is associated
+ */
+ private Object key;
+
+ /**
+ * Toolbars that will be shown or hidden according to this action
+ */
+ private ArrayList<JToolBar> toolbars = new ArrayList<JToolBar>();
+
+ public ToolbarManagerMenuItemAction(String name, Object newKey) {
+ super(name);
+ this.key = newKey;
+ toolbars = new ArrayList<JToolBar>();
+ }
+
+ public Object getKey() {
+ return key;
+ }
+
+ public ArrayList<JToolBar> getToolbars() {
+ return toolbars;
+ }
+
+ public void actionPerformed(final ActionEvent e) {
+ SwingUtilities.invokeLater(new Runnable() {
+ public void run() {
+ for (JToolBar toolbar : getToolbars()) {
+ toolbar.setVisible(((JCheckBoxMenuItem) e.getSource())
+ .isSelected());
+
+ // Make this change persistant
+ ConfigurationKey configurationKey = Configuration
+ .makeKey(ArgoToolbarManager.KEY_NAME, toolbar
+ .getName());
+ Configuration.setString(configurationKey,
+ ((Boolean) toolbar.isVisible()).toString());
+ }
+ }
+ });
+
+ for (JMenuItem menuItem : allMenuItems) {
+ if (menuItem.getAction().equals(this)) {
+ menuItem.setSelected(((JCheckBoxMenuItem) e.getSource())
+ .isSelected());
+ }
+ }
+ }
+ }
+
+ /**
+ * Key name for all toolabar settings. Every toolbar settings is subkey of
+ * this key.
+ */
+ private static final String KEY_NAME = "toolbars";
+
+ /**
+ * Single instance.
+ */
+ private static ArgoToolbarManager instance;
+
+ /**
+ * Popup menu.
+ */
+ private JPopupMenu popup;
+
+ /**
+ * Menu
+ */
+ private JMenu menu;
+
+ /**
+ * All menu items
+ */
+ private ArrayList<JMenuItem> allMenuItems = new ArrayList<JMenuItem>();
+
+ /**
+ * Private constructor.
+ */
+ private ArgoToolbarManager() {
+
+ }
+
+ /**
+ * Get single instance.
+ *
+ * @return single instance.
+ */
+ public static ArgoToolbarManager getInstance() {
+ if (instance == null) {
+ instance = new ArgoToolbarManager();
+ }
+ return instance;
+ }
+
+ /**
+ * Registers new toolbar.
+ *
+ * @param key
+ * Class that is toolbar connected to, or toolbar object itself
+ * (it there is just one toolbar of that kind in the application.
+ * @param toolbar
+ * new toolbar to register
+ * @param prefferedMenuPosition
+ * preffered menu postition, -1 for the last postition
+ */
+ private void registerNew(Object key, JToolBar newToolbar,
+ int prefferedMenuPosition) {
+ // If menus don't containt menu item necessary for this class, create it
+ JCheckBoxMenuItem wantedMenuItem = null;
+ for (int i = 0; i < getMenu().getItemCount(); i++) {
+ ToolbarManagerMenuItemAction menuItemAction =
+ (ToolbarManagerMenuItemAction) getMenu()
+ .getItem(i).getAction();
+ if (menuItemAction.getKey().equals(key)) {
+ wantedMenuItem = (JCheckBoxMenuItem) getMenu().getItem(i);
+ }
+ }
+
+ // If there is persistant state for this toolbar, respect it,
+ // or add it to persistance data
+ boolean visibility = getConfiguredToolbarAppearance(newToolbar
+ .getName(), newToolbar.isVisible());
+ newToolbar.setVisible(visibility);
+
+ // Create new menu item if it doesn't exist for this class.
+ if (wantedMenuItem == null) {
+ ToolbarManagerMenuItemAction action =
+ new ToolbarManagerMenuItemAction(
+ newToolbar.getName(), key);
+ wantedMenuItem = new JCheckBoxMenuItem(newToolbar.getName(),
+ newToolbar.isVisible());
+ wantedMenuItem.setAction(action);
+
+ JCheckBoxMenuItem menuItem2 = new JCheckBoxMenuItem(newToolbar
+ .getName(), newToolbar.isVisible());
+ menuItem2.setAction(action);
+
+ getMenu().insert(wantedMenuItem, prefferedMenuPosition);
+ getPopupMenu().insert(menuItem2, prefferedMenuPosition);
+ allMenuItems.add(wantedMenuItem);
+ allMenuItems.add(menuItem2);
+ }
+
+ ArrayList<JToolBar> toolBarsForClass =
+ ((ToolbarManagerMenuItemAction) wantedMenuItem
+ .getAction()).getToolbars();
+
+ // If visibility is already changed for this class, respect it.
+ boolean visible = true;
+ if (toolBarsForClass.size() > 0) {
+ visible = toolBarsForClass.get(0).isVisible();
+ newToolbar.setVisible(visible);
+ }
+
+ // Add toolbar.
+ toolBarsForClass.add(newToolbar);
+
+ // Register popup menu with toolbar.
+ newToolbar.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mouseReleased(MouseEvent e) {
+ super.mouseReleased(e);
+ if (e.isPopupTrigger()) {
+ getPopupMenu().show(e.getComponent(), e.getX(), e.getY());
+ }
+ }
+
+ @Override
+ public void mousePressed(MouseEvent e) {
+ super.mousePressed(e);
+ if (e.isPopupTrigger()) {
+ getPopupMenu().show(e.getComponent(), e.getX(), e.getY());
+ }
+ }
+ });
+ }
+
+ /**
+ * Registers container with all containing toolbars. If all toolbars are
+ * hidden, container will be hidden, too. This means that when toolbars are
+ * placed on JPanel, when all toolbars are hidden, this panel needs to be
+ * hidden, too.
+ *
+ * @param container
+ * container
+ * @param toolbars
+ * toolbars in the container
+ */
+ public void registerContainer(final JComponent container,
+ final JToolBar[] toolbars) {
+ for (JToolBar toolbar : toolbars) {
+ registerNew(toolbar, toolbar, -1);
+ }
+
+ for (JToolBar toolbar : toolbars) {
+ toolbar.addComponentListener(new ComponentAdapter() {
+ public void componentHidden(ComponentEvent e) {
+ boolean allHidden = true;
+ for (JToolBar bar : toolbars) {
+ if (bar.isVisible()) {
+ allHidden = false;
+ break;
+ }
+ }
+
+ if (allHidden) {
+ container.setVisible(false);
+ }
+ }
+
+ public void componentShown(ComponentEvent e) {
+ JToolBar oneVisible = null;
+ for (JToolBar bar : toolbars) {
+ if (bar.isVisible()) {
+ oneVisible = bar;
+ break;
+ }
+ }
+
+ if (oneVisible != null) {
+ container.setVisible(true);
+ }
+ }
+ });
+ }
+ }
+
+ /**
+ * Registers new toolbar for specific group.
+ *
+ * @param key
+ * group that toolbar belongs to.
+ * @param newToolbar
+ * new toolbar to register.
+ * @param prefferedMenuPosition
+ * preffered menu postition, -1 for the last postition
+ */
+ public void registerToolbar(Object key, JToolBar newToolbar,
+ int prefferedMenuPosition) {
+ registerNew(key, newToolbar, prefferedMenuPosition);
+ }
+
+ /**
+ * Gets popup menu
+ *
+ * @return Popup menu
+ */
+ private JPopupMenu getPopupMenu() {
+ if (popup == null) {
+ popup = new JPopupMenu();
+ }
+
+ return popup;
+ }
+
+ /**
+ * Gets menu for all toolbars.
+ *
+ * @return menu to be shown in view menu
+ */
+ public JMenu getMenu() {
+ if (menu == null) {
+ menu = new JMenu();
+ }
+
+ return menu;
+ }
+
+ /**
+ * Gets toolbar visibility status from configuration. If it doesn't exist in
+ * configuration it creates new entries in configuration for that toolbar.
+ *
+ * @param toolbarName
+ * Name of the toolbar to get visibility status
+ * @param currentStatus
+ * Toolbar current status to write to config file if it doesn't
+ * exist
+ * @return visibility status
+ */
+ public boolean getConfiguredToolbarAppearance(String toolbarName,
+ Boolean currentStatus) {
+ ConfigurationKey key = Configuration.makeKey("toolbars", toolbarName);
+ String visibilityAsString = Configuration.getString(key);
+
+ if (visibilityAsString.equals("")) {
+ visibilityAsString = currentStatus.toString();
+ Configuration.setString(key, visibilityAsString);
+ }
+
+ return (visibilityAsString.equals("true")) ? true : false;
+ }
+}
Modified: trunk/src_new/org/argouml/ui/ProjectBrowser.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/ui/ProjectBrowser.java?view=diff&rev=13062&p1=trunk/src_new/org/argouml/ui/ProjectBrowser.java&p2=trunk/src_new/org/argouml/ui/ProjectBrowser.java&r1=13061&r2=13062
==============================================================================
--- trunk/src_new/org/argouml/ui/ProjectBrowser.java (original)
+++ trunk/src_new/org/argouml/ui/ProjectBrowser.java 2007-07-12 11:31:59-0700
@@ -30,6 +30,8 @@
import java.awt.Font;
import java.awt.KeyboardFocusManager;
import java.awt.Window;
+import java.awt.event.ComponentAdapter;
+import java.awt.event.ComponentEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.beans.PropertyChangeEvent;
@@ -56,6 +58,7 @@
import javax.swing.JMenuBar;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
+import javax.swing.JToolBar;
import javax.swing.SwingUtilities;
import org.apache.log4j.Logger;
@@ -77,6 +80,7 @@
import org.argouml.persistence.UmlVersionException;
import org.argouml.persistence.VersionException;
import org.argouml.persistence.XmiFormatException;
+import org.argouml.swingext.ArgoToolbarManager;
import org.argouml.taskmgmt.ProgressMonitor;
import org.argouml.ui.cmd.GenericArgoMenuBar;
import org.argouml.ui.targetmanager.TargetEvent;
@@ -411,16 +415,77 @@
// Toolbar boundary is the area between the menu and the status
// bar. It contains the workarea at centre and the toolbar
// position north, south, east or west.
- JPanel toolbarBoundary = new JPanel();
+ final JPanel toolbarBoundary = new JPanel();
toolbarBoundary.setLayout(new DockBorderLayout());
// TODO: - should save and restore the last positions of the toolbars
- toolbarBoundary.add(menuBar.getFileToolbar(), BorderLayout.NORTH);
- toolbarBoundary.add(menuBar.getEditToolbar(), BorderLayout.NORTH);
- toolbarBoundary.add(menuBar.getViewToolbar(), BorderLayout.NORTH);
+ final String toolbarPosition = BorderLayout.NORTH;
+ toolbarBoundary.add(menuBar.getFileToolbar(), toolbarPosition);
+ toolbarBoundary.add(menuBar.getEditToolbar(), toolbarPosition);
+ toolbarBoundary.add(menuBar.getViewToolbar(), toolbarPosition);
toolbarBoundary.add(menuBar.getCreateDiagramToolbar(),
- BorderLayout.NORTH);
+ toolbarPosition);
toolbarBoundary.add(workAreaPane, BorderLayout.CENTER);
+
+ /**
+ * Registers all toolbars and enables north panel hidding when all
+ * toolbars are hidden.
+ */
+ ArgoToolbarManager.getInstance().registerToolbar(
+ menuBar.getFileToolbar(), menuBar.getFileToolbar(), 0);
+ ArgoToolbarManager.getInstance().registerToolbar(
+ menuBar.getEditToolbar(), menuBar.getEditToolbar(), 1);
+ ArgoToolbarManager.getInstance().registerToolbar(
+ menuBar.getViewToolbar(), menuBar.getViewToolbar(), 2);
+ ArgoToolbarManager.getInstance().registerToolbar(
+ menuBar.getCreateDiagramToolbar(),
+ menuBar.getCreateDiagramToolbar(), 3);
+
+ final JToolBar[] toolbars = new JToolBar[] {menuBar.getFileToolbar(),
+ menuBar.getEditToolbar(), menuBar.getViewToolbar(),
+ menuBar.getCreateDiagramToolbar() };
+ for (JToolBar toolbar : toolbars) {
+ toolbar.addComponentListener(new ComponentAdapter() {
+ public void componentHidden(ComponentEvent e) {
+ boolean allHidden = true;
+ for (JToolBar bar : toolbars) {
+ if (bar.isVisible()) {
+ allHidden = false;
+ break;
+ }
+ }
+
+ if (allHidden) {
+ for (JToolBar bar : toolbars) {
+ toolbarBoundary.getLayout().removeLayoutComponent(
+ bar);
+ }
+ toolbarBoundary.getLayout().layoutContainer(
+ toolbarBoundary);
+ }
+ }
+
+ public void componentShown(ComponentEvent e) {
+ JToolBar oneVisible = null;
+ for (JToolBar bar : toolbars) {
+ if (bar.isVisible()) {
+ oneVisible = bar;
+ break;
+ }
+ }
+
+ if (oneVisible != null) {
+ toolbarBoundary.add(oneVisible, toolbarPosition);
+ toolbarBoundary.getLayout().layoutContainer(
+ toolbarBoundary);
+ }
+ }
+ });
+ }
+ /**
+ * END registering toolbar
+ */
+
return toolbarBoundary;
}
Modified: trunk/src_new/org/argouml/ui/TabText.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/ui/TabText.java?view=diff&rev=13062&p1=trunk/src_new/org/argouml/ui/TabText.java&p2=trunk/src_new/org/argouml/ui/TabText.java&r1=13061&r2=13062
==============================================================================
--- trunk/src_new/org/argouml/ui/TabText.java (original)
+++ trunk/src_new/org/argouml/ui/TabText.java 2007-07-12 11:31:59-0700
@@ -35,6 +35,8 @@
import javax.swing.event.DocumentListener;
import org.apache.log4j.Logger;
+import org.argouml.i18n.Translator;
+import org.argouml.swingext.ArgoToolbarManager;
import org.argouml.ui.targetmanager.TargetEvent;
import org.argouml.ui.targetmanager.TargetManager;
import org.argouml.uml.ui.TabModelTarget;
@@ -95,7 +97,11 @@
if (withToolbar) {
toolbar = new ToolBar();
toolbar.setOrientation(SwingConstants.HORIZONTAL);
+ toolbar.setName(Translator.localize(getTitle()));
add(toolbar, BorderLayout.NORTH);
+
+ ArgoToolbarManager.getInstance().registerToolbar(this.getClass(),
+ toolbar, 6);
}
}
Modified: trunk/src_new/org/argouml/ui/cmd/GenericArgoMenuBar.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/ui/cmd/GenericArgoMenuBar.java?view=diff&rev=13062&p1=trunk/src_new/org/argouml/ui/cmd/GenericArgoMenuBar.java&p2=trunk/src_new/org/argouml/ui/cmd/GenericArgoMenuBar.java&r1=13061&r2=13062
==============================================================================
--- trunk/src_new/org/argouml/ui/cmd/GenericArgoMenuBar.java (original)
+++ trunk/src_new/org/argouml/ui/cmd/GenericArgoMenuBar.java 2007-07-12 11:31:59-0700
@@ -40,6 +40,7 @@
import org.argouml.i18n.Translator;
import org.argouml.kernel.UndoEnabler;
+import org.argouml.swingext.ArgoToolbarManager;
import org.argouml.ui.ActionExportXMI;
import org.argouml.ui.ActionImportXMI;
import org.argouml.ui.ActionProjectSettings;
@@ -542,6 +543,12 @@
ShortcutMgr.ACTION_ADJUST_PAGE_BREAKS);
view.addSeparator();
+ JMenu menuToolbars = ArgoToolbarManager.getInstance().getMenu();
+ menuToolbars.setText(menuLocalize("toolbars"));
+ setMnemonic(menuToolbars, "toolbars");
+ view.add(menuToolbars);
+ view.addSeparator();
+
JMenuItem showSaved = view.add(new ActionShowXMLDump());
setMnemonic(showSaved, "Show Saved");
ShortcutMgr.assignAccelerator(showSaved,
Modified: trunk/src_new/org/argouml/uml/diagram/ui/UMLDiagram.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/diagram/ui/UMLDiagram.java?view=diff&rev=13062&p1=trunk/src_new/org/argouml/uml/diagram/ui/UMLDiagram.java&p2=trunk/src_new/org/argouml/uml/diagram/ui/UMLDiagram.java&r1=13061&r2=13062
==============================================================================
--- trunk/src_new/org/argouml/uml/diagram/ui/UMLDiagram.java (original)
+++ trunk/src_new/org/argouml/uml/diagram/ui/UMLDiagram.java 2007-07-12 11:31:59-0700
@@ -44,6 +44,7 @@
import org.argouml.kernel.Project;
import org.argouml.kernel.ProjectManager;
import org.argouml.model.Model;
+import org.argouml.swingext.ArgoToolbarManager;
import org.argouml.ui.CmdCreateNode;
import org.argouml.uml.UUIDHelper;
import org.argouml.uml.diagram.ArgoDiagramImpl;
@@ -226,6 +227,9 @@
public JToolBar getJToolBar() {
if (toolBar == null) {
initToolBar();
+ toolBar.setName(Translator.localize("misc.toolbar.diagram"));
+ ArgoToolbarManager.getInstance().registerToolbar(UMLDiagram.class,
+ toolBar, 4);
}
return toolBar;
}
Modified: trunk/src_new/org/argouml/uml/ui/PropPanel.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/PropPanel.java?view=diff&rev=13062&p1=trunk/src_new/org/argouml/uml/ui/PropPanel.java&p2=trunk/src_new/org/argouml/uml/ui/PropPanel.java&r1=13061&r2=13062
==============================================================================
--- trunk/src_new/org/argouml/uml/ui/PropPanel.java (original)
+++ trunk/src_new/org/argouml/uml/ui/PropPanel.java 2007-07-12 11:31:59-0700
@@ -56,6 +56,7 @@
import org.argouml.i18n.Translator;
import org.argouml.kernel.ProjectManager;
import org.argouml.model.Model;
+import org.argouml.swingext.ArgoToolbarManager;
import org.argouml.ui.AbstractArgoJPanel;
import org.argouml.ui.LookAndFeelMgr;
import org.argouml.ui.targetmanager.TargetEvent;
@@ -204,6 +205,9 @@
factory.setRollover(true);
factory.setFloatable(false);
JToolBar toolBar = factory.createToolBar();
+ toolBar.setName(Translator.localize("misc.toolbar.properties"));
+ ArgoToolbarManager.getInstance().registerToolbar(PropPanel.class,
+ toolBar, 5);
buttonPanel.removeAll();
buttonPanel.add(BorderLayout.WEST, toolBar);
Modified: trunk/src_new/org/argouml/uml/ui/TabConstraints.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/TabConstraints.java?view=diff&rev=13062&p1=trunk/src_new/org/argouml/uml/ui/TabConstraints.java&p2=trunk/src_new/org/argouml/uml/ui/TabConstraints.java&r1=13061&r2=13062
==============================================================================
--- trunk/src_new/org/argouml/uml/ui/TabConstraints.java (original)
+++ trunk/src_new/org/argouml/uml/ui/TabConstraints.java 2007-07-12 11:31:59-0700
@@ -40,6 +40,7 @@
import org.argouml.model.Model;
import org.argouml.ocl.ArgoFacade;
import org.argouml.ocl.OCLUtil;
+import org.argouml.swingext.ArgoToolbarManager;
import org.argouml.ui.AbstractArgoJPanel;
import org.argouml.ui.targetmanager.TargetEvent;
import org.tigris.gef.presentation.Fig;
@@ -95,6 +96,8 @@
mOcleEditor.setDoAutoSplit(false);
setToolbarRollover(true);
setToolbarFloatable(false);
+ ArgoToolbarManager.getInstance().registerToolbar(this.getClass(),
+ getOclToolbar(), 7);
add(mOcleEditor);
Modified: trunk/src_new/org/argouml/uml/ui/TabTaggedValues.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/TabTaggedValues.java?view=diff&rev=13062&p1=trunk/src_new/org/argouml/uml/ui/TabTaggedValues.java&p2=trunk/src_new/org/argouml/uml/ui/TabTaggedValues.java&r1=13061&r2=13062
==============================================================================
--- trunk/src_new/org/argouml/uml/ui/TabTaggedValues.java (original)
+++ trunk/src_new/org/argouml/uml/ui/TabTaggedValues.java 2007-07-12 11:31:59-0700
@@ -50,6 +50,7 @@
import org.argouml.i18n.Translator;
import org.argouml.model.InvalidElementException;
import org.argouml.model.Model;
+import org.argouml.swingext.ArgoToolbarManager;
import org.argouml.ui.AbstractArgoJPanel;
import org.argouml.ui.LookAndFeelMgr;
import org.argouml.ui.targetmanager.TargetEvent;
@@ -89,6 +90,9 @@
public TabTaggedValues() {
super("tab.tagged-values");
buttonPanel = new ToolBar();
+ buttonPanel.setName(Translator.localize(getTitle()));
+ ArgoToolbarManager.getInstance().registerToolbar(this.getClass(),
+ buttonPanel, 8);
buttonPanel.setFloatable(false);
JButton b = new JButton();
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.