You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@marmotta.apache.org by ja...@apache.org on 2014/01/10 15:03:28 UTC
[05/13] MARMOTTA-419: removed 3rd-party source-code from the tree
(and from N&L)
http://git-wip-us.apache.org/repos/asf/marmotta/blob/60ae655a/launchers/marmotta-splash/src/ext/java/net/miginfocom/swing/MigLayout.java
----------------------------------------------------------------------
diff --git a/launchers/marmotta-splash/src/ext/java/net/miginfocom/swing/MigLayout.java b/launchers/marmotta-splash/src/ext/java/net/miginfocom/swing/MigLayout.java
deleted file mode 100644
index bde68df..0000000
--- a/launchers/marmotta-splash/src/ext/java/net/miginfocom/swing/MigLayout.java
+++ /dev/null
@@ -1,701 +0,0 @@
-package net.miginfocom.swing;
-/*
- * License (BSD):
- * ==============
- *
- * Copyright (c) 2004, Mikael Grev, MiG InfoCom AB. (miglayout (at) miginfocom (dot) com)
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright notice, this list
- * of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice, this
- * list of conditions and the following disclaimer in the documentation and/or other
- * materials provided with the distribution.
- * Neither the name of the MiG InfoCom AB nor the names of its contributors may be
- * used to endorse or promote products derived from this software without specific
- * prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * @version 1.0
- * @author Mikael Grev, MiG InfoCom AB
- * Date: 2006-sep-08
- */
-
-import net.miginfocom.layout.*;
-
-import javax.swing.*;
-import javax.swing.Timer;
-import java.awt.*;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.io.*;
-import java.util.*;
-
-/** A very flexible layout manager.
- * <p>
- * Read the documentation that came with this layout manager for information on usage.
- */
-public final class MigLayout implements LayoutManager2, Externalizable
-{
- // ******** Instance part ********
-
- /** The component to string constraints mappings.
- */
- private final Map<Component, Object> scrConstrMap = new IdentityHashMap<Component, Object>(8);
-
- /** Hold the serializable text representation of the constraints.
- */
- private Object layoutConstraints = "", colConstraints = "", rowConstraints = ""; // Should never be null!
-
- // ******** Transient part ********
-
- private transient ContainerWrapper cacheParentW = null;
-
- private transient final Map<ComponentWrapper, CC> ccMap = new HashMap<ComponentWrapper, CC>(8);
- private transient javax.swing.Timer debugTimer = null;
-
- private transient LC lc = null;
- private transient AC colSpecs = null, rowSpecs = null;
- private transient Grid grid = null;
- private transient int lastModCount = PlatformDefaults.getModCount();
- private transient int lastHash = -1;
- private transient Dimension lastInvalidSize = null;
- private transient boolean lastWasInvalid = false; // Added in 3.7.1. May have regressions
- private transient Dimension lastParentSize = null;
-
- private transient ArrayList<LayoutCallback> callbackList = null;
-
- private transient boolean dirty = true;
-
- /** Constructor with no constraints.
- */
- public MigLayout()
- {
- this("", "", "");
- }
-
- /** Constructor.
- * @param layoutConstraints The constraints that concern the whole layout. <code>null</code> will be treated as "".
- */
- public MigLayout(String layoutConstraints)
- {
- this(layoutConstraints, "", "");
- }
-
- /** Constructor.
- * @param layoutConstraints The constraints that concern the whole layout. <code>null</code> will be treated as "".
- * @param colConstraints The constraints for the columns in the grid. <code>null</code> will be treated as "".
- */
- public MigLayout(String layoutConstraints, String colConstraints)
- {
- this(layoutConstraints, colConstraints, "");
- }
-
- /** Constructor.
- * @param layoutConstraints The constraints that concern the whole layout. <code>null</code> will be treated as "".
- * @param colConstraints The constraints for the columns in the grid. <code>null</code> will be treated as "".
- * @param rowConstraints The constraints for the rows in the grid. <code>null</code> will be treated as "".
- */
- public MigLayout(String layoutConstraints, String colConstraints, String rowConstraints)
- {
- setLayoutConstraints(layoutConstraints);
- setColumnConstraints(colConstraints);
- setRowConstraints(rowConstraints);
- }
-
- /** Constructor.
- * @param layoutConstraints The constraints that concern the whole layout. <code>null</code> will be treated as an empty constraint.
- */
- public MigLayout(LC layoutConstraints)
- {
- this(layoutConstraints, null, null);
- }
-
- /** Constructor.
- * @param layoutConstraints The constraints that concern the whole layout. <code>null</code> will be treated as an empty constraint.
- * @param colConstraints The constraints for the columns in the grid. <code>null</code> will be treated as an empty constraint.
- */
- public MigLayout(LC layoutConstraints, AC colConstraints)
- {
- this(layoutConstraints, colConstraints, null);
- }
-
- /** Constructor.
- * @param layoutConstraints The constraints that concern the whole layout. <code>null</code> will be treated as an empty constraint.
- * @param colConstraints The constraints for the columns in the grid. <code>null</code> will be treated as an empty constraint.
- * @param rowConstraints The constraints for the rows in the grid. <code>null</code> will be treated as an empty constraint.
- */
- public MigLayout(LC layoutConstraints, AC colConstraints, AC rowConstraints)
- {
- setLayoutConstraints(layoutConstraints);
- setColumnConstraints(colConstraints);
- setRowConstraints(rowConstraints);
- }
-
- /** Returns layout constraints either as a <code>String</code> or {@link net.miginfocom.layout.LC} depending what was sent in
- * to the constructor or set with {@link #setLayoutConstraints(Object)}.
- * @return The layout constraints either as a <code>String</code> or {@link net.miginfocom.layout.LC} depending what was sent in
- * to the constructor or set with {@link #setLayoutConstraints(Object)}. Never <code>null</code>.
- */
- public Object getLayoutConstraints()
- {
- return layoutConstraints;
- }
-
- /** Sets the layout constraints for the layout manager instance as a String.
- * <p>
- * See the class JavaDocs for information on how this string is formatted.
- * @param constr The layout constraints as a String representation. <code>null</code> is converted to <code>""</code> for storage.
- * @throws RuntimeException if the constraint was not valid.
- */
- public void setLayoutConstraints(Object constr)
- {
- if (constr == null || constr instanceof String) {
- constr = ConstraintParser.prepare((String) constr);
- lc = ConstraintParser.parseLayoutConstraint((String) constr);
- } else if (constr instanceof LC) {
- lc = (LC) constr;
- } else {
- throw new IllegalArgumentException("Illegal constraint type: " + constr.getClass().toString());
- }
- layoutConstraints = constr;
- dirty = true;
- }
-
- /** Returns the column layout constraints either as a <code>String</code> or {@link net.miginfocom.layout.AC}.
- * @return The column constraints either as a <code>String</code> or {@link net.miginfocom.layout.LC} depending what was sent in
- * to the constructor or set with {@link #setLayoutConstraints(Object)}. Never <code>null</code>.
- */
- public Object getColumnConstraints()
- {
- return colConstraints;
- }
-
- /** Sets the column layout constraints for the layout manager instance as a String.
- * <p>
- * See the class JavaDocs for information on how this string is formatted.
- * @param constr The column layout constraints as a String representation. <code>null</code> is converted to <code>""</code> for storage.
- * @throws RuntimeException if the constraint was not valid.
- */
- public void setColumnConstraints(Object constr)
- {
- if (constr == null || constr instanceof String) {
- constr = ConstraintParser.prepare((String) constr);
- colSpecs = ConstraintParser.parseColumnConstraints((String) constr);
- } else if (constr instanceof AC) {
- colSpecs = (AC) constr;
- } else {
- throw new IllegalArgumentException("Illegal constraint type: " + constr.getClass().toString());
- }
- colConstraints = constr;
- dirty = true;
- }
-
- /** Returns the row layout constraints as a String representation. This string is the exact string as set with {@link #setRowConstraints(Object)}
- * or sent into the constructor.
- * <p>
- * See the class JavaDocs for information on how this string is formatted.
- * @return The row layout constraints as a String representation. Never <code>null</code>.
- */
- public Object getRowConstraints()
- {
- return rowConstraints;
- }
-
- /** Sets the row layout constraints for the layout manager instance as a String.
- * <p>
- * See the class JavaDocs for information on how this string is formatted.
- * @param constr The row layout constraints as a String representation. <code>null</code> is converted to <code>""</code> for storage.
- * @throws RuntimeException if the constraint was not valid.
- */
- public void setRowConstraints(Object constr)
- {
- if (constr == null || constr instanceof String) {
- constr = ConstraintParser.prepare((String) constr);
- rowSpecs = ConstraintParser.parseRowConstraints((String) constr);
- } else if (constr instanceof AC) {
- rowSpecs = (AC) constr;
- } else {
- throw new IllegalArgumentException("Illegal constraint type: " + constr.getClass().toString());
- }
- rowConstraints = constr;
- dirty = true;
- }
-
- /** Returns a shallow copy of the constraints map.
- * @return A shallow copy of the constraints map. Never <code>null</code>.
- */
- public Map<Component, Object> getConstraintMap()
- {
- return new IdentityHashMap<Component, Object>(scrConstrMap);
- }
-
- /** Sets the constraints map.
- * @param map The map. Will be copied.
- */
- public void setConstraintMap(Map<Component, Object> map)
- {
- scrConstrMap.clear();
- ccMap.clear();
- for (Map.Entry<Component, Object> e : map.entrySet())
- setComponentConstraintsImpl(e.getKey(), e.getValue(), true);
- }
-
- /** Returns the component constraints as a String representation. This string is the exact string as set with {@link #setComponentConstraints(java.awt.Component, Object)}
- * or set when adding the component to the parent component.
- * <p>
- * See the class JavaDocs for information on how this string is formatted.
- * @param comp The component to return the constraints for.
- * @return The component constraints as a String representation or <code>null</code> if the component is not registered
- * with this layout manager. The returned values is either a String or a {@link net.miginfocom.layout.CC}
- * depending on what constraint was sent in when the component was added. May be <code>null</code>.
- */
- public Object getComponentConstraints(Component comp)
- {
- synchronized(comp.getParent().getTreeLock()) {
- return scrConstrMap.get(comp);
- }
- }
-
- /** Sets the component constraint for the component that already must be handled by this layout manager.
- * <p>
- * See the class JavaDocs for information on how this string is formatted.
- * @param constr The component constraints as a String or {@link net.miginfocom.layout.CC}. <code>null</code> is ok.
- * @param comp The component to set the constraints for.
- * @throws RuntimeException if the constraint was not valid.
- * @throws IllegalArgumentException If the component is not handling the component.
- */
- public void setComponentConstraints(Component comp, Object constr)
- {
- setComponentConstraintsImpl(comp, constr, false);
- }
-
- /** Sets the component constraint for the component that already must be handled by this layout manager.
- * <p>
- * See the class JavaDocs for information on how this string is formatted.
- * @param constr The component constraints as a String or {@link net.miginfocom.layout.CC}. <code>null</code> is ok.
- * @param comp The component to set the constraints for.
- * @param noCheck Doe not check if the component is handled if true
- * @throws RuntimeException if the constraint was not valid.
- * @throws IllegalArgumentException If the component is not handling the component.
- */
- private void setComponentConstraintsImpl(Component comp, Object constr, boolean noCheck)
- {
- Container parent = comp.getParent();
- synchronized(parent != null ? parent.getTreeLock() : new Object()) { // 3.7.2. No sync if not added to a hierarchy. Defeats a NPE.
- if (noCheck == false && scrConstrMap.containsKey(comp) == false)
- throw new IllegalArgumentException("Component must already be added to parent!");
-
- ComponentWrapper cw = new SwingComponentWrapper(comp);
-
- if (constr == null || constr instanceof String) {
- String cStr = ConstraintParser.prepare((String) constr);
-
- scrConstrMap.put(comp, constr);
- ccMap.put(cw, ConstraintParser.parseComponentConstraint(cStr));
-
- } else if (constr instanceof CC) {
-
- scrConstrMap.put(comp, constr);
- ccMap.put(cw, (CC) constr);
-
- } else {
- throw new IllegalArgumentException("Constraint must be String or ComponentConstraint: " + constr.getClass().toString());
- }
-
- dirty = true;
- }
- }
-
- /** Returns if this layout manager is currently managing this component.
- * @param c The component to check. If <code>null</code> then <code>false</code> will be returned.
- * @return If this layout manager is currently managing this component.
- */
- public boolean isManagingComponent(Component c)
- {
- return scrConstrMap.containsKey(c);
- }
-
- /** Adds the callback function that will be called at different stages of the layout cylce.
- * @param callback The callback. Not <code>null</code>.
- */
- public void addLayoutCallback(LayoutCallback callback)
- {
- if (callback == null)
- throw new NullPointerException();
-
- if (callbackList == null)
- callbackList = new ArrayList<LayoutCallback>(1);
-
- callbackList.add(callback);
- }
-
- /** Removes the callback if it exists.
- * @param callback The callback. May be <code>null</code>.
- */
- public void removeLayoutCallback(LayoutCallback callback)
- {
- if (callbackList != null)
- callbackList.remove(callback);
- }
-
- /** Sets the debugging state for this layout manager instance. If debug is turned on a timer will repaint the last laid out parent
- * with debug information on top.
- * <p>
- * Red fill and dashed red outline is used to indicate occupied cells in the grid. Blue dashed outline indicate
- * component bounds set.
- * <p>
- * Note that debug can also be set on the layout constraints. There it will be persisted. The value set here will not. See the class
- * JavaDocs for information.
- * @param parentW The parent to set debug for.
- * @param b <code>true</code> means debug is turned on.
- */
- private void setDebug(final ComponentWrapper parentW, boolean b)
- {
- if (b && (debugTimer == null || debugTimer.getDelay() != getDebugMillis())) {
- if (debugTimer != null)
- debugTimer.stop();
-
- ContainerWrapper pCW = parentW.getParent();
- final Component parent = pCW != null ? (Component) pCW.getComponent() : null;
-
- debugTimer = new Timer(getDebugMillis(), new MyDebugRepaintListener());
-
- if (parent != null) {
- SwingUtilities.invokeLater(new Runnable() {
- public void run() {
- Container p = parent.getParent();
- if (p != null) {
- if (p instanceof JComponent) {
- ((JComponent) p).revalidate();
- } else {
- parent.invalidate();
- p.validate();
- }
- }
- }
- });
- }
-
- debugTimer.setInitialDelay(100);
- debugTimer.start();
-
- } else if (!b && debugTimer != null) {
- debugTimer.stop();
- debugTimer = null;
- }
- }
-
- /** Returns the current debugging state.
- * @return The current debugging state.
- */
- private boolean getDebug()
- {
- return debugTimer != null;
- }
-
- /** Returns the debug millis. Combines the value from {@link net.miginfocom.layout.LC#getDebugMillis()} and {@link net.miginfocom.layout.LayoutUtil#getGlobalDebugMillis()}
- * @return The combined value.
- */
- private int getDebugMillis()
- {
- int globalDebugMillis = LayoutUtil.getGlobalDebugMillis();
- return globalDebugMillis > 0 ? globalDebugMillis : lc.getDebugMillis();
- }
-
- /** Check if something has changed and if so recreate it to the cached objects.
- * @param parent The parent that is the target for this layout manager.
- */
- private void checkCache(Container parent)
- {
- if (parent == null)
- return;
-
- if (dirty)
- grid = null;
-
- // Check if the grid is valid
- int mc = PlatformDefaults.getModCount();
- if (lastModCount != mc) {
- grid = null;
- lastModCount = mc;
- }
-
- if (parent.isValid() == false) {
- if (lastWasInvalid == false) {
- lastWasInvalid = true;
-
- int hash = 0;
- boolean resetLastInvalidOnParent = false; // Added in 3.7.3 to resolve a timing regression introduced in 3.7.1
- for (ComponentWrapper wrapper : ccMap.keySet()) {
- Object component = wrapper.getComponent();
- if (component instanceof JTextArea || component instanceof JEditorPane)
- resetLastInvalidOnParent = true;
- hash ^= wrapper.getLayoutHashCode();
- hash += 285134905;
- }
- if (resetLastInvalidOnParent)
- resetLastInvalidOnParent(parent);
-
- if (hash != lastHash) {
- grid = null;
- lastHash = hash;
- }
-
- Dimension ps = parent.getSize();
- if (lastInvalidSize == null || !lastInvalidSize.equals(ps)) {
- if (grid != null)
- grid.invalidateContainerSize();
- lastInvalidSize = ps;
- }
- }
- } else {
- lastWasInvalid = false;
- }
-
- ContainerWrapper par = checkParent(parent);
-
- setDebug(par, getDebugMillis() > 0);
-
- if (grid == null)
- grid = new Grid(par, lc, rowSpecs, colSpecs, ccMap, callbackList);
-
- dirty = false;
- }
-
- /**
- * @since 3.7.3
- */
- private void resetLastInvalidOnParent(Container parent)
- {
- while (parent != null) {
- LayoutManager layoutManager = parent.getLayout();
- if (layoutManager instanceof MigLayout) {
- ((MigLayout) layoutManager).lastWasInvalid = false;
- }
- parent = parent.getParent();
- }
- }
-
- private ContainerWrapper checkParent(Container parent)
- {
- if (parent == null)
- return null;
-
- if (cacheParentW == null || cacheParentW.getComponent() != parent)
- cacheParentW = new SwingContainerWrapper(parent);
-
- return cacheParentW;
- }
-
- private long lastSize = 0;
-
- public void layoutContainer(final Container parent)
- {
- synchronized(parent.getTreeLock()) {
- checkCache(parent);
-
- Insets i = parent.getInsets();
- int[] b = new int[] {
- i.left,
- i.top,
- parent.getWidth() - i.left - i.right,
- parent.getHeight() - i.top - i.bottom
- };
-
- if (grid.layout(b, lc.getAlignX(), lc.getAlignY(), getDebug(), true)) {
- grid = null;
- checkCache(parent);
- grid.layout(b, lc.getAlignX(), lc.getAlignY(), getDebug(), false);
- }
-
- long newSize = grid.getHeight()[1] + (((long) grid.getWidth()[1]) << 32);
- if (lastSize != newSize) {
- lastSize = newSize;
- final ContainerWrapper containerWrapper = checkParent(parent);
- Window win = ((Window) SwingUtilities.getAncestorOfClass(Window.class, (Component)containerWrapper.getComponent()));
- if (win != null) {
- if (win.isVisible()) {
- SwingUtilities.invokeLater(new Runnable() {
- public void run() {
- adjustWindowSize(containerWrapper);
- }
- });
- } else {
- adjustWindowSize(containerWrapper);
- }
- }
- }
- lastInvalidSize = null;
- }
- }
-
- /** Checks the parent window if its size is within parameters as set by the LC.
- * @param parent The parent who's window to possibly adjust the size for.
- */
- private void adjustWindowSize(ContainerWrapper parent)
- {
- BoundSize wBounds = lc.getPackWidth();
- BoundSize hBounds = lc.getPackHeight();
-
- if (wBounds == null && hBounds == null)
- return;
-
- Window win = ((Window) SwingUtilities.getAncestorOfClass(Window.class, (Component) parent.getComponent()));
- if (win == null)
- return;
-
- Dimension prefSize = win.getPreferredSize();
- int targW = constrain(checkParent(win), win.getWidth(), prefSize.width, wBounds);
- int targH = constrain(checkParent(win), win.getHeight(), prefSize.height, hBounds);
-
- int x = Math.round(win.getX() - ((targW - win.getWidth()) * (1 - lc.getPackWidthAlign())));
- int y = Math.round(win.getY() - ((targH - win.getHeight()) * (1 - lc.getPackHeightAlign())));
-
- win.setBounds(x, y, targW, targH);
- }
-
- private int constrain(ContainerWrapper parent, int winSize, int prefSize, BoundSize constrain)
- {
- if (constrain == null)
- return winSize;
-
- int retSize = winSize;
- UnitValue wUV = constrain.getPreferred();
- if (wUV != null)
- retSize = wUV.getPixels(prefSize, parent, parent);
-
- retSize = constrain.constrain(retSize, prefSize, parent);
-
- return constrain.getGapPush() ? Math.max(winSize, retSize) : retSize;
- }
-
- public Dimension minimumLayoutSize(Container parent)
- {
- synchronized(parent.getTreeLock()) {
- return getSizeImpl(parent, LayoutUtil.MIN);
- }
- }
-
- public Dimension preferredLayoutSize(Container parent)
- {
- synchronized(parent.getTreeLock()) {
- if (lastParentSize == null || !parent.getSize().equals(lastParentSize)) {
- for (ComponentWrapper wrapper : ccMap.keySet()) {
- Component c = (Component) wrapper.getComponent();
- if (c instanceof JTextArea || c instanceof JEditorPane || (c instanceof JComponent && Boolean.TRUE.equals(((JComponent)c).getClientProperty("migLayout.dynamicAspectRatio")))) {
- layoutContainer(parent);
- break;
- }
- }
- }
-
- lastParentSize = parent.getSize();
- return getSizeImpl(parent, LayoutUtil.PREF);
- }
- }
-
- public Dimension maximumLayoutSize(Container parent)
- {
- return new Dimension(Short.MAX_VALUE, Short.MAX_VALUE);
- }
-
- // Implementation method that does the job.
- private Dimension getSizeImpl(Container parent, int sizeType)
- {
- checkCache(parent);
-
- Insets i = parent.getInsets();
-
- int w = LayoutUtil.getSizeSafe(grid != null ? grid.getWidth() : null, sizeType) + i.left + i.right;
- int h = LayoutUtil.getSizeSafe(grid != null ? grid.getHeight() : null, sizeType) + i.top + i.bottom;
-
- return new Dimension(w, h);
- }
-
- public float getLayoutAlignmentX(Container parent)
- {
- return lc != null && lc.getAlignX() != null ? lc.getAlignX().getPixels(1, checkParent(parent), null) : 0;
- }
-
- public float getLayoutAlignmentY(Container parent)
- {
- return lc != null && lc.getAlignY() != null ? lc.getAlignY().getPixels(1, checkParent(parent), null) : 0;
- }
-
- public void addLayoutComponent(String s, Component comp)
- {
- addLayoutComponent(comp, s);
- }
-
- public void addLayoutComponent(Component comp, Object constraints)
- {
- synchronized(comp.getParent().getTreeLock()) {
- setComponentConstraintsImpl(comp, constraints, true);
- }
- }
-
- public void removeLayoutComponent(Component comp)
- {
- synchronized(comp.getParent().getTreeLock()) {
- scrConstrMap.remove(comp);
- ccMap.remove(new SwingComponentWrapper(comp));
- }
- }
-
- public void invalidateLayout(Container target)
- {
-// if (lc.isNoCache()) // Commented for 3.5 since there was too often that the "nocache" was needed and the user did not know.
- dirty = true;
-
- // the validity of components is maintained automatically.
- }
-
- // ************************************************
- // Persistence Delegate and Serializable combined.
- // ************************************************
-
- private Object readResolve() throws ObjectStreamException
- {
- return LayoutUtil.getSerializedObject(this);
- }
-
- public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
- {
- LayoutUtil.setSerializedObject(this, LayoutUtil.readAsXML(in));
- }
-
- public void writeExternal(ObjectOutput out) throws IOException
- {
- if (getClass() == MigLayout.class)
- LayoutUtil.writeAsXML(out, this);
- }
-
- private class MyDebugRepaintListener implements ActionListener
- {
- public void actionPerformed(ActionEvent e)
- {
- if (grid != null) {
- Component comp = (Component) grid.getContainer().getComponent();
- if (comp.isShowing()) {
- grid.paintDebug();
- return;
- }
- }
- debugTimer.stop();
- debugTimer = null;
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/marmotta/blob/60ae655a/launchers/marmotta-splash/src/ext/java/net/miginfocom/swing/SwingComponentWrapper.java
----------------------------------------------------------------------
diff --git a/launchers/marmotta-splash/src/ext/java/net/miginfocom/swing/SwingComponentWrapper.java b/launchers/marmotta-splash/src/ext/java/net/miginfocom/swing/SwingComponentWrapper.java
deleted file mode 100644
index f802ee4..0000000
--- a/launchers/marmotta-splash/src/ext/java/net/miginfocom/swing/SwingComponentWrapper.java
+++ /dev/null
@@ -1,459 +0,0 @@
-package net.miginfocom.swing;
-/*
- * License (BSD):
- * ==============
- *
- * Copyright (c) 2004, Mikael Grev, MiG InfoCom AB. (miglayout (at) miginfocom (dot) com)
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright notice, this list
- * of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice, this
- * list of conditions and the following disclaimer in the documentation and/or other
- * materials provided with the distribution.
- * Neither the name of the MiG InfoCom AB nor the names of its contributors may be
- * used to endorse or promote products derived from this software without specific
- * prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * @version 1.0
- * @author Mikael Grev, MiG InfoCom AB
- * Date: 2006-sep-08
- */
-import net.miginfocom.layout.ComponentWrapper;
-import net.miginfocom.layout.ContainerWrapper;
-import net.miginfocom.layout.PlatformDefaults;
-
-import javax.swing.*;
-import javax.swing.text.JTextComponent;
-import java.awt.*;
-import java.awt.geom.Rectangle2D;
-import java.lang.reflect.Method;
-import java.util.IdentityHashMap;
-
-/**
- */
-public class SwingComponentWrapper implements ComponentWrapper
-{
- private static boolean maxSet = false;
-
- private static boolean vp = true;
-
- /** Debug color for component bounds outline.
- */
- private static final Color DB_COMP_OUTLINE = new Color(0, 0, 200);
-
- private final Component c;
- private int compType = TYPE_UNSET;
- private Boolean bl = null;
- private boolean prefCalled = false;
-
- public SwingComponentWrapper(Component c)
- {
- this.c = c;
- }
-
- public final int getBaseline(int width, int height)
- {
- if (BL_METHOD == null)
- return -1;
-
- try {
- Object[] args = new Object[] {
- width < 0 ? c.getWidth() : width,
- height < 0 ? c.getHeight() : height
- };
-
- return (Integer) BL_METHOD.invoke(c, args);
- } catch (Exception e) {
- return -1;
- }
- }
-
- public final Object getComponent()
- {
- return c;
- }
-
- /** Cache.
- */
- private final static IdentityHashMap<FontMetrics, Point.Float> FM_MAP = new IdentityHashMap<FontMetrics, Point.Float>(4);
- private final static Font SUBST_FONT = new Font("sansserif", Font.PLAIN, 11);
-
- public final float getPixelUnitFactor(boolean isHor)
- {
- switch (PlatformDefaults.getLogicalPixelBase()) {
- case PlatformDefaults.BASE_FONT_SIZE:
- Font font = c.getFont();
- FontMetrics fm = c.getFontMetrics(font != null ? font : SUBST_FONT);
- Point.Float p = FM_MAP.get(fm);
- if (p == null) {
- Rectangle2D r = fm.getStringBounds("X", c.getGraphics());
- p = new Point.Float(((float) r.getWidth()) / 6f, ((float) r.getHeight()) / 13.27734375f);
- FM_MAP.put(fm, p);
- }
- return isHor ? p.x : p.y;
-
- case PlatformDefaults.BASE_SCALE_FACTOR:
-
- Float s = isHor ? PlatformDefaults.getHorizontalScaleFactor() : PlatformDefaults.getVerticalScaleFactor();
- if (s != null)
- return s;
- return (isHor ? getHorizontalScreenDPI() : getVerticalScreenDPI()) / (float) PlatformDefaults.getDefaultDPI();
-
- default:
- return 1f;
- }
- }
-
-// /** Cache.
-// */
-// private final static IdentityHashMap<FontMetrics, Point.Float> FM_MAP2 = new IdentityHashMap<FontMetrics, Point.Float>(4);
-// private final static Font SUBST_FONT2 = new Font("sansserif", Font.PLAIN, 11);
-//
-// public float getDialogUnit(boolean isHor)
-// {
-// Font font = c.getFont();
-// FontMetrics fm = c.getFontMetrics(font != null ? font : SUBST_FONT2);
-// Point.Float dluP = FM_MAP2.get(fm);
-// if (dluP == null) {
-// float w = fm.charWidth('X') / 4f;
-// int ascent = fm.getAscent();
-// float h = (ascent > 14 ? ascent : ascent + (15 - ascent) / 3) / 8f;
-//
-// dluP = new Point.Float(w, h);
-// FM_MAP2.put(fm, dluP);
-// }
-// return isHor ? dluP.x : dluP.y;
-// }
-
- public final int getX()
- {
- return c.getX();
- }
-
- public final int getY()
- {
- return c.getY();
- }
-
- public final int getHeight()
- {
- return c.getHeight();
- }
-
- public final int getWidth()
- {
- return c.getWidth();
- }
-
- public final int getScreenLocationX()
- {
- Point p = new Point();
- SwingUtilities.convertPointToScreen(p, c);
- return p.x;
- }
-
- public final int getScreenLocationY()
- {
- Point p = new Point();
- SwingUtilities.convertPointToScreen(p, c);
- return p.y;
- }
-
- public final int getMinimumHeight(int sz)
- {
- if (prefCalled == false) {
- c.getPreferredSize(); // To defeat a bug where the minimum size is different before and after the first call to getPreferredSize();
- prefCalled = true;
- }
- return c.getMinimumSize().height;
- }
-
- public final int getMinimumWidth(int sz)
- {
- if (prefCalled == false) {
- c.getPreferredSize(); // To defeat a bug where the minimum size is different before and after the first call to getPreferredSize();
- prefCalled = true;
- }
- return c.getMinimumSize().width;
- }
- public final int getPreferredHeight(int sz)
- {
- // If the component has not gotten size yet and there is a size hint, trick Swing to return a better height.
- if (c.getWidth() == 0 && c.getHeight() == 0 && sz != -1)
- c.setBounds(c.getX(), c.getY(), sz, 1);
-
- return c.getPreferredSize().height;
- }
-
- public final int getPreferredWidth(int sz)
- {
- // If the component has not gotten size yet and there is a size hint, trick Swing to return a better height.
- if (c.getWidth() == 0 && c.getHeight() == 0 && sz != -1)
- c.setBounds(c.getX(), c.getY(), 1, sz);
-
- return c.getPreferredSize().width;
- }
-
- public final int getMaximumHeight(int sz)
- {
- if (!isMaxSet(c))
- return Short.MAX_VALUE;
-
- return c.getMaximumSize().height;
- }
-
- public final int getMaximumWidth(int sz)
- {
- if (!isMaxSet(c))
- return Short.MAX_VALUE;
-
- return c.getMaximumSize().width;
- }
-
-
- private boolean isMaxSet(Component c)
- {
- if (IMS_METHOD != null) {
- try {
- return (Boolean) IMS_METHOD.invoke(c, (Object[]) null);
- } catch (Exception e) {
- IMS_METHOD = null; // So we do not try every time.
- }
- }
- return isMaxSizeSetOn1_4();
- }
-
- public final ContainerWrapper getParent()
- {
- Container p = c.getParent();
- return p != null ? new SwingContainerWrapper(p) : null;
- }
-
- public final int getHorizontalScreenDPI()
- {
- return PlatformDefaults.getDefaultDPI();
- }
-
- public final int getVerticalScreenDPI()
- {
- return PlatformDefaults.getDefaultDPI();
- }
-
- public final int getScreenWidth()
- {
- try {
- return c.getToolkit().getScreenSize().width;
- } catch (HeadlessException ex) {
- return 1024;
- }
- }
-
- public final int getScreenHeight()
- {
- try {
- return c.getToolkit().getScreenSize().height;
- } catch (HeadlessException ex) {
- return 768;
- }
- }
-
- public final boolean hasBaseline()
- {
- if (bl == null) {
- try {
- if (BL_RES_METHOD == null || BL_RES_METHOD.invoke(c).toString().equals("OTHER")) {
- bl = Boolean.FALSE;
- } else {
- Dimension d = c.getMinimumSize();
- bl = getBaseline(d.width, d.height) > -1;
- }
- } catch (Throwable ex) {
- bl = Boolean.FALSE;
- }
- }
- return bl;
- }
-
- public final String getLinkId()
- {
- return c.getName();
- }
-
- public final void setBounds(int x, int y, int width, int height)
- {
- c.setBounds(x, y, width, height);
- }
-
- public boolean isVisible()
- {
- return c.isVisible();
- }
-
- public final int[] getVisualPadding()
- {
- if (vp && c instanceof JTabbedPane) {
- if (UIManager.getLookAndFeel().getClass().getName().endsWith("WindowsLookAndFeel"))
- return new int[] {-1, 0, 2, 2};
- }
-
- return null;
- }
-
- public static boolean isMaxSizeSetOn1_4()
- {
- return maxSet;
- }
-
- public static void setMaxSizeSetOn1_4(boolean b)
- {
- maxSet = b;
- }
-
- public static boolean isVisualPaddingEnabled()
- {
- return vp;
- }
-
- public static void setVisualPaddingEnabled(boolean b)
- {
- vp = b;
- }
-
- public final void paintDebugOutline()
- {
- if (c.isShowing() == false)
- return;
-
- Graphics2D g = (Graphics2D) c.getGraphics();
- if (g == null)
- return;
-
- g.setPaint(DB_COMP_OUTLINE);
- g.setStroke(new BasicStroke(1f, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_MITER, 10f, new float[] {2f, 4f}, 0));
- g.drawRect(0, 0, getWidth() - 1, getHeight() - 1);
- }
-
- public int getComponetType(boolean disregardScrollPane)
- {
- if (compType == TYPE_UNSET)
- compType = checkType(disregardScrollPane);
-
- return compType;
- }
-
- public int getLayoutHashCode()
- {
- Dimension d = c.getMaximumSize();
- int hash = d.width + (d.height << 5);
-
- d = c.getPreferredSize();
- hash += (d.width << 10) + (d.height << 15);
-
- d = c.getMinimumSize();
- hash += (d.width << 20) + (d.height << 25);
-
- if (c.isVisible())
- hash += 1324511;
-
- String id = getLinkId();
- if (id != null)
- hash += id.hashCode();
-
- return hash;
- }
-
- private int checkType(boolean disregardScrollPane)
- {
- Component c = this.c;
-
- if (disregardScrollPane) {
- if (c instanceof JScrollPane) {
- c = ((JScrollPane) c).getViewport().getView();
- } else if (c instanceof ScrollPane) {
- c = ((ScrollPane) c).getComponent(0);
- }
- }
-
- if (c instanceof JTextField || c instanceof TextField) {
- return TYPE_TEXT_FIELD;
- } else if (c instanceof JLabel || c instanceof Label) {
- return TYPE_LABEL;
- } else if (c instanceof JToggleButton || c instanceof Checkbox) {
- return TYPE_CHECK_BOX;
- } else if (c instanceof AbstractButton || c instanceof Button) {
- return TYPE_BUTTON;
- } else if (c instanceof JComboBox || c instanceof Choice) {
- return TYPE_LABEL;
- } else if (c instanceof JTextComponent || c instanceof TextComponent) {
- return TYPE_TEXT_AREA;
- } else if (c instanceof JPanel || c instanceof Canvas) {
- return TYPE_PANEL;
- } else if (c instanceof JList || c instanceof List) {
- return TYPE_LIST;
- } else if (c instanceof JTable) {
- return TYPE_TABLE;
- } else if (c instanceof JSeparator) {
- return TYPE_SEPARATOR;
- } else if (c instanceof JSpinner) {
- return TYPE_SPINNER;
- } else if (c instanceof JProgressBar) {
- return TYPE_PROGRESS_BAR;
- } else if (c instanceof JSlider) {
- return TYPE_SLIDER;
- } else if (c instanceof JScrollPane) {
- return TYPE_SCROLL_PANE;
- } else if (c instanceof JScrollBar || c instanceof Scrollbar) {
- return TYPE_SCROLL_BAR;
- } else if (c instanceof Container) { // only AWT components is not containers.
- return TYPE_CONTAINER;
- }
- return TYPE_UNKNOWN;
- }
-
- public final int hashCode()
- {
- return getComponent().hashCode();
- }
-
- public final boolean equals(Object o)
- {
- if (o instanceof ComponentWrapper == false)
- return false;
-
- return getComponent().equals(((ComponentWrapper) o).getComponent());
- }
-
- /** Cached method used for getting base line with reflection.
- */
- private static Method BL_METHOD = null;
- private static Method BL_RES_METHOD = null;
- static {
- try {
- BL_METHOD = Component.class.getDeclaredMethod("getBaseline", new Class[] {int.class, int.class});
- BL_RES_METHOD = Component.class.getDeclaredMethod("getBaselineResizeBehavior"); // 3.7.2: Removed Class<?> null since that made the method inaccessible.
- } catch (Throwable e) { // No such method or security exception
- }
- }
-
- private static Method IMS_METHOD = null;
- static {
- try {
- IMS_METHOD = Component.class.getDeclaredMethod("isMaximumSizeSet", (Class[]) null);
- } catch (Throwable e) { // No such method or security exception
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/marmotta/blob/60ae655a/launchers/marmotta-splash/src/ext/java/net/miginfocom/swing/SwingContainerWrapper.java
----------------------------------------------------------------------
diff --git a/launchers/marmotta-splash/src/ext/java/net/miginfocom/swing/SwingContainerWrapper.java b/launchers/marmotta-splash/src/ext/java/net/miginfocom/swing/SwingContainerWrapper.java
deleted file mode 100644
index 2798c2b..0000000
--- a/launchers/marmotta-splash/src/ext/java/net/miginfocom/swing/SwingContainerWrapper.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package net.miginfocom.swing;
-/*
- * License (BSD):
- * ==============
- *
- * Copyright (c) 2004, Mikael Grev, MiG InfoCom AB. (miglayout (at) miginfocom (dot) com)
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright notice, this list
- * of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice, this
- * list of conditions and the following disclaimer in the documentation and/or other
- * materials provided with the distribution.
- * Neither the name of the MiG InfoCom AB nor the names of its contributors may be
- * used to endorse or promote products derived from this software without specific
- * prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * @version 1.0
- * @author Mikael Grev, MiG InfoCom AB
- * Date: 2006-sep-08
- */
-
-import net.miginfocom.layout.ComponentWrapper;
-import net.miginfocom.layout.ContainerWrapper;
-
-import java.awt.*;
-
-/**
- */
-public final class SwingContainerWrapper extends SwingComponentWrapper implements ContainerWrapper
-{
- /** Debug color for cell outline.
- */
- private static final Color DB_CELL_OUTLINE = new Color(255, 0, 0);
-
- public SwingContainerWrapper(Container c)
- {
- super(c);
- }
-
- public ComponentWrapper[] getComponents()
- {
- Container c = (Container) getComponent();
- ComponentWrapper[] cws = new ComponentWrapper[c.getComponentCount()];
- for (int i = 0; i < cws.length; i++)
- cws[i] = new SwingComponentWrapper(c.getComponent(i));
- return cws;
- }
-
- public int getComponentCount()
- {
- return ((Container) getComponent()).getComponentCount();
- }
-
- public Object getLayout()
- {
- return ((Container) getComponent()).getLayout();
- }
-
- public final boolean isLeftToRight()
- {
- return ((Container) getComponent()).getComponentOrientation().isLeftToRight();
- }
-
- public final void paintDebugCell(int x, int y, int width, int height)
- {
- Component c = (Component) getComponent();
- if (c.isShowing() == false)
- return;
-
- Graphics2D g = (Graphics2D) c.getGraphics();
- if (g == null)
- return;
-
- g.setStroke(new BasicStroke(1f, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_MITER, 10f, new float[] {2f, 3f}, 0));
- g.setPaint(DB_CELL_OUTLINE);
- g.drawRect(x, y, width - 1, height - 1);
- }
-
- public int getComponetType(boolean disregardScrollPane)
- {
- return TYPE_CONTAINER;
- }
-
- // Removed for 2.3 because the parent.isValid() in MigLayout will catch this instead.
- public int getLayoutHashCode()
- {
- long n = System.nanoTime();
- int h = super.getLayoutHashCode();
-
- if (isLeftToRight())
- h += 416343;
-
- return 0;
- }
-}
http://git-wip-us.apache.org/repos/asf/marmotta/blob/60ae655a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/ActionBuilderHelper.java
----------------------------------------------------------------------
diff --git a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/ActionBuilderHelper.java b/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/ActionBuilderHelper.java
deleted file mode 100644
index 0b25076..0000000
--- a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/ActionBuilderHelper.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/*
- * Copyright (c) 2009-2011, EzWare
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.Redistributions
- * in binary form must reproduce the above copyright notice, this list of
- * conditions and the following disclaimer in the documentation and/or
- * other materials provided with the distribution.Neither the name of the
- * EzWare nor the names of its contributors may be used to endorse or
- * promote products derived from this software without specific prior
- * written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-package org.oxbow.swingbits.action;
-
-import java.awt.Component;
-import java.util.Collection;
-
-import javax.swing.AbstractButton;
-import javax.swing.Action;
-import javax.swing.ButtonGroup;
-import javax.swing.JCheckBoxMenuItem;
-import javax.swing.JMenu;
-import javax.swing.JMenuBar;
-import javax.swing.JMenuItem;
-import javax.swing.JPopupMenu;
-import javax.swing.JRadioButtonMenuItem;
-import javax.swing.JToggleButton;
-import javax.swing.JToolBar;
-import javax.swing.SwingConstants;
-
-
-class ActionBuilderHelper {
-
- protected <T> T createGroup( MenuAdapter<T> menu, Collection<Action> actions ) {
- int item = 1; // has to be 1 to compare to size
- int size = actions.size();
- for( Action a: actions ) {
- createAction( menu, a, item++ == size );
- }
- return menu.get();
- }
-
- @SuppressWarnings("unchecked")
- private <T> T createAction( MenuAdapter<T> menu, Action a, boolean isLast ) {
-
- if ( a instanceof Collection ) {
-
- if ( isCollapsed(a)) {
- JMenu m = createGroup( new JMenuAdapter(new JMenu(a)), (Collection<Action>)a );
- menu.add(m);
- } else {
- menu.addSeparator();
- createGroup( menu, (Collection<Action>)a );
- if ( !isLast ) menu.addSeparator();
- }
-
- } else {
-
- if ( Actions.isSeparator(a)) {
- if ( !isLast ) menu.addSeparator();
- } else {
-
- if ( isCheckAction(a)) {
- menu.add(new JCheckBoxMenuItem(prepareCheckAction(a)));
- } else if ( isRadioAction(a)) {
- JMenuItem item = menu.add(new JRadioButtonMenuItem(prepareCheckAction(a)));
- menu.getButtonGroup().add( item );
- } else {
- menu.add(new JMenuItem(a));
- }
- }
-
- }
-
- return menu.get();
-
- }
-
- private Action prepareCheckAction( Action a ) {
- if ( a.getValue(Action.SELECTED_KEY) == null ) {
- a.putValue(Action.SELECTED_KEY, Boolean.FALSE);
- }
- return a;
- }
-
- private boolean isCheckAction( Action a ) {
- return a.getClass().getAnnotation(CheckAction.class) != null;
- }
-
- private boolean isRadioAction( Action a ) {
- return a.getClass().getAnnotation(RadioAction.class) != null;
- }
-
- private boolean isCollapsed( Action a ) {
- return a instanceof ActionGroup && ((ActionGroup)a).isCollapsed();
- }
-
-
- /////// ADAPTERS ///////////////////////////////////////////////////////////////////////
-
- abstract class MenuAdapter<T> {
-
- protected T target;
- private ButtonGroup bg;
-
- public MenuAdapter( T target ) {
- this.target = target;
- }
-
- public T get() { return target; }
-
- public void addSeparator() {}
-
- public ButtonGroup getButtonGroup() {
- if (bg == null) {
- bg = new ButtonGroup();
- }
- return bg;
- }
-
- public abstract JMenuItem add( JMenuItem menuItem );
-
-
-
- }
-
- class JMenuBarAdapter extends MenuAdapter<JMenuBar>{
-
- public JMenuBarAdapter( JMenuBar mb ) {
- super( mb );
- }
-
- @Override
- public JMenuItem add(JMenuItem menuItem) {
-
- Component c = target.add(menuItem);
- if ( c instanceof JMenu ) {
- ((JMenu)c).setIcon(null);
- }
- return menuItem;
-
- }
-
- }
-
- class JToolBarAdapter extends MenuAdapter<JToolBar>{
-
- public JToolBarAdapter( JToolBar tb ) {
- super( tb );
- }
-
- @Override
- public JMenuItem add(JMenuItem menuItem) {
- Action action = menuItem.getAction();
-// Action action = menuItem instanceof JMenu? new ActionDropDownMenu((ActionGroup) menuAction): menuAction;
-
- AbstractButton b = add( action, menuItem );
- b.setHorizontalTextPosition(SwingConstants.LEADING);
- b.putClientProperty("hideActionText", action.getValue(Action.SMALL_ICON) != null);
- return menuItem;
- }
-
- private AbstractButton add( Action action, JMenuItem item ) {
-
- if ( item instanceof JCheckBoxMenuItem || item instanceof JRadioButtonMenuItem ) {
- return (AbstractButton) target.add( new JToggleButton( action ));
- } else if ( item instanceof JMenu ) {
- return target.add( new ActionDropDownMenu((ActionGroup) action) );
- } else {
- return target.add( action );
- }
-
- }
-
-
- }
-
- class JPopupMenuAdapter extends MenuAdapter<JPopupMenu>{
-
- public JPopupMenuAdapter( JPopupMenu menu ) {
- super( menu );
- }
-
- @Override
- public JMenuItem add(JMenuItem menuItem) {
- target.add(menuItem);
- return menuItem;
- }
-
- @Override
- public void addSeparator() {
- int count = target.getComponentCount();
- boolean canAddSeparator = count != 0 &&
- target.getComponent(count-1).getClass() != JPopupMenu.Separator.class;
- if ( canAddSeparator ) target.addSeparator();
- }
-
- }
-
- class JMenuAdapter extends MenuAdapter<JMenu> {
-
- public JMenuAdapter( JMenu menu ) {
- super(menu);
- }
-
- @Override
- public JMenuItem add(JMenuItem menuItem) {
- target.add(menuItem);
- return menuItem;
- }
-
- @Override
- public void addSeparator() {
- int count = target.getMenuComponentCount();
- boolean canAddSeparator = count != 0 &&
- target.getMenuComponent(count-1).getClass() != JPopupMenu.Separator.class;
- if ( canAddSeparator ) target.addSeparator();
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/marmotta/blob/60ae655a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/ActionContainerBuilderFactory.java
----------------------------------------------------------------------
diff --git a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/ActionContainerBuilderFactory.java b/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/ActionContainerBuilderFactory.java
deleted file mode 100644
index ab606d5..0000000
--- a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/ActionContainerBuilderFactory.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (c) 2009-2011, EzWare
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.Redistributions
- * in binary form must reproduce the above copyright notice, this list of
- * conditions and the following disclaimer in the documentation and/or
- * other materials provided with the distribution.Neither the name of the
- * EzWare nor the names of its contributors may be used to endorse or
- * promote products derived from this software without specific prior
- * written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-
-package org.oxbow.swingbits.action;
-
-import java.util.Collection;
-
-import javax.swing.Action;
-import javax.swing.JMenuBar;
-import javax.swing.JPopupMenu;
-import javax.swing.JToolBar;
-
-public final class ActionContainerBuilderFactory {
-
- private ActionContainerBuilderFactory() {}
-
- private static MenuBarBuilder menuBarBuilder = new MenuBarBuilder();
- private static PopupMenuBuilder popupMenuBuilder = new PopupMenuBuilder();
- private static ToolBarBuilder toolBarBuilder = new ToolBarBuilder();
-
- public static IActionContainerBuilder<JMenuBar> getMenuBarBuilder() {
- return menuBarBuilder;
- }
-
- public static IActionContainerBuilder<JPopupMenu> getPopupMenuBuilder() {
- return popupMenuBuilder;
- }
-
- public static IActionContainerBuilder<JToolBar> getToolBarBuilder() {
- return toolBarBuilder;
- }
-}
-
-class MenuBarBuilder extends ActionBuilderHelper implements IActionContainerBuilder<JMenuBar> {
-
- @Override
- public JMenuBar build(Collection<Action> actions) {
- return createGroup( new JMenuBarAdapter(new JMenuBar()), actions );
- }
-
-}
-
-class PopupMenuBuilder extends ActionBuilderHelper implements IActionContainerBuilder<JPopupMenu> {
-
- @Override
- public JPopupMenu build(Collection<Action> actions) {
- return createGroup( new JPopupMenuAdapter(new JPopupMenu()), actions );
- }
-
-}
-
-class ToolBarBuilder extends ActionBuilderHelper implements IActionContainerBuilder<JToolBar> {
-
- @Override
- public JToolBar build(Collection<Action> actions) {
- return createGroup( new JToolBarAdapter(new JToolBar()), actions );
- }
-
-}
-
http://git-wip-us.apache.org/repos/asf/marmotta/blob/60ae655a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/ActionDropDownMenu.java
----------------------------------------------------------------------
diff --git a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/ActionDropDownMenu.java b/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/ActionDropDownMenu.java
deleted file mode 100644
index b5384c6..0000000
--- a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/ActionDropDownMenu.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (c) 2009-2011, EzWare
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.Redistributions
- * in binary form must reproduce the above copyright notice, this list of
- * conditions and the following disclaimer in the documentation and/or
- * other materials provided with the distribution.Neither the name of the
- * EzWare nor the names of its contributors may be used to endorse or
- * promote products derived from this software without specific prior
- * written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-package org.oxbow.swingbits.action;
-
-import java.awt.Component;
-import java.awt.event.ActionEvent;
-
-import javax.swing.AbstractAction;
-import javax.swing.Icon;
-import javax.swing.ImageIcon;
-import javax.swing.JPopupMenu;
-
-import org.oxbow.swingbits.util.swing.CompoundIcon;
-
-/**
- * An action representing a drop down menu.
- * Intended to be used for drop down buttons.
- * When assigned to the button shows a pop up menu on click.
- * Also automatically adds "drop down" arrow icon to the right of action's icon.
- *
- * @author Eugene Ryzhikov
- *
- */
-class ActionDropDownMenu extends AbstractAction {
-
- private static final long serialVersionUID = 1L;
- private static final Icon DROPDOWN_ICON = new ImageIcon( ActionDropDownMenu.class.getResource("dropdown.png"));
-
- private JPopupMenu menu = null;
- private final ActionGroup action;
-
- /**
- * Action will create a pop up menu out of give ActionGroup
- * @param actionGroup
- */
- public ActionDropDownMenu( ActionGroup actionGroup ) {
- super( actionGroup.getName(), createIcon(actionGroup));
- this.action = actionGroup;
- }
-
- private static Icon createIcon( ActionGroup action ) {
- Icon mainIcon = action.getIcon();
- return mainIcon == null? DROPDOWN_ICON: new CompoundIcon(mainIcon, DROPDOWN_ICON);
- }
-
- @Override
- public void actionPerformed(ActionEvent e) {
-
- if ( !( e.getSource() instanceof Component ) ||
- action == null || action.isEmpty() ||
- !action.isEnabled() ) return;
-
- if ( menu == null ) {
- menu = ActionContainerBuilderFactory.getPopupMenuBuilder().build(action);
- }
-
- Component cmpt = (Component) e.getSource();
- menu.show( cmpt , 0, cmpt.getHeight() );
-
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/marmotta/blob/60ae655a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/ActionGroup.java
----------------------------------------------------------------------
diff --git a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/ActionGroup.java b/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/ActionGroup.java
deleted file mode 100644
index d829446..0000000
--- a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/ActionGroup.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Copyright (c) 2009-2011, EzWare
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.Redistributions
- * in binary form must reproduce the above copyright notice, this list of
- * conditions and the following disclaimer in the documentation and/or
- * other materials provided with the distribution.Neither the name of the
- * EzWare nor the names of its contributors may be used to endorse or
- * promote products derived from this software without specific prior
- * written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-package org.oxbow.swingbits.action;
-
-import java.awt.event.ActionEvent;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.swing.AbstractAction;
-import javax.swing.Action;
-import javax.swing.Icon;
-
-public final class ActionGroup extends AbstractAction implements Collection<Action> {
-
- private static final long serialVersionUID = -8373261802979340928L;
-
- private final List<Action> actions = new ArrayList<Action>();
- private boolean collapsed = true;
-
-
- protected ActionGroup( String name, Icon icon ) {
- super( name, icon );
- }
-
- public ActionGroup actions( Collection<Action> actions ) {
- addAll(actions);
- return this;
- }
-
- public ActionGroup actions( Action... actions ) {
- return actions( Arrays.asList(actions));
- }
-
- public ActionGroup collapsed( boolean collapsed ) {
- this.collapsed = collapsed;
- return this;
- }
-
- @Override
- public void actionPerformed(ActionEvent e) {}
-
- public boolean isCollapsed() {
- return collapsed;
- }
-
- protected void setCollapsed(boolean collapsed) {
- this.collapsed = collapsed;
- }
-
- public String getName() {
- return (String) getValue(Action.NAME);
- }
-
- public Icon getIcon() {
- return (Icon) getValue(Action.SMALL_ICON);
- }
-
- /// Collection methods
-
- @Override
- public int size() { return actions.size(); }
-
- @Override
- public boolean isEmpty() { return actions.isEmpty(); }
-
- @Override
- public boolean contains(Object o) { return actions.contains(o); }
-
- @Override
- public Iterator<Action> iterator() { return actions.iterator(); }
-
- @Override
- public Object[] toArray() { return actions.toArray(); }
-
- @Override
- public <T> T[] toArray(T[] a) { return actions.toArray(a); }
-
- @Override
- public boolean add(Action a) { return actions.add(a); }
-
- @Override
- public boolean remove(Object o) { return actions.remove(o); }
-
- @Override
- public boolean containsAll(Collection<?> c) { return actions.containsAll(c);}
-
- @Override
- public boolean addAll(Collection<? extends Action> c) { return actions.addAll(c); }
-
- @Override
- public boolean removeAll(Collection<?> c) { return actions.removeAll(c); }
-
- @Override
- public boolean retainAll(Collection<?> c) { return actions.retainAll(c); }
-
- @Override
- public void clear() { actions.clear(); }
-
-}
http://git-wip-us.apache.org/repos/asf/marmotta/blob/60ae655a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/Actions.java
----------------------------------------------------------------------
diff --git a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/Actions.java b/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/Actions.java
deleted file mode 100644
index 4585553..0000000
--- a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/Actions.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (c) 2009-2011, EzWare
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.Redistributions
- * in binary form must reproduce the above copyright notice, this list of
- * conditions and the following disclaimer in the documentation and/or
- * other materials provided with the distribution.Neither the name of the
- * EzWare nor the names of its contributors may be used to endorse or
- * promote products derived from this software without specific prior
- * written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-package org.oxbow.swingbits.action;
-
-import java.awt.event.ActionEvent;
-import java.util.Arrays;
-import java.util.Collection;
-
-import javax.swing.AbstractAction;
-import javax.swing.Action;
-import javax.swing.Icon;
-
-public final class Actions {
-
- private static final Action SEPARATOR = new AbstractAction() {
-
- private static final long serialVersionUID = 1L;
-
- @Override
- public void actionPerformed(ActionEvent e) {}
-
- };
-
-
- private Actions() {}
-
- public static final Action separator() { return SEPARATOR; }
-
- public static final boolean isSeparator(Action a) {
- return SEPARATOR == a;
- }
-
- public static final ActionGroup collapsedGroup( String name, Icon icon ) {
- return new ActionGroup(name, icon ).collapsed(true);
- }
-
- public static final ActionGroup collapsedGroup( String name) {
- return collapsedGroup(name,null);
- }
-
- public static final ActionGroup expandedGroup( String name, Icon icon ) {
- return new ActionGroup(name, icon ).collapsed(false);
- }
-
- public static final ActionGroup expandedGroup( String name) {
- return expandedGroup(name, null);
- }
-
- public static final Collection<Action> actions( Action... actions ) {
- return Arrays.asList(actions);
- }
-
-
-}
http://git-wip-us.apache.org/repos/asf/marmotta/blob/60ae655a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/CheckAction.java
----------------------------------------------------------------------
diff --git a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/CheckAction.java b/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/CheckAction.java
deleted file mode 100644
index 3f15b8d..0000000
--- a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/CheckAction.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2009-2011, EzWare
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.Redistributions
- * in binary form must reproduce the above copyright notice, this list of
- * conditions and the following disclaimer in the documentation and/or
- * other materials provided with the distribution.Neither the name of the
- * EzWare nor the names of its contributors may be used to endorse or
- * promote products derived from this software without specific prior
- * written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-package org.oxbow.swingbits.action;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-@Retention(RetentionPolicy.RUNTIME)
-public @interface CheckAction {
-}
http://git-wip-us.apache.org/repos/asf/marmotta/blob/60ae655a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/IActionContainerBuilder.java
----------------------------------------------------------------------
diff --git a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/IActionContainerBuilder.java b/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/IActionContainerBuilder.java
deleted file mode 100644
index 1c5f915..0000000
--- a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/IActionContainerBuilder.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2009-2011, EzWare
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.Redistributions
- * in binary form must reproduce the above copyright notice, this list of
- * conditions and the following disclaimer in the documentation and/or
- * other materials provided with the distribution.Neither the name of the
- * EzWare nor the names of its contributors may be used to endorse or
- * promote products derived from this software without specific prior
- * written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-package org.oxbow.swingbits.action;
-
-import java.util.Collection;
-
-import javax.swing.Action;
-import javax.swing.JComponent;
-
-public interface IActionContainerBuilder<T extends JComponent> {
-
- T build( Collection<Action> actions );
-
-}
http://git-wip-us.apache.org/repos/asf/marmotta/blob/60ae655a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/RadioAction.java
----------------------------------------------------------------------
diff --git a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/RadioAction.java b/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/RadioAction.java
deleted file mode 100644
index 5fb93c0..0000000
--- a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/RadioAction.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2009-2011, EzWare
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.Redistributions
- * in binary form must reproduce the above copyright notice, this list of
- * conditions and the following disclaimer in the documentation and/or
- * other materials provided with the distribution.Neither the name of the
- * EzWare nor the names of its contributors may be used to endorse or
- * promote products derived from this software without specific prior
- * written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-package org.oxbow.swingbits.action;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-@Retention(RetentionPolicy.RUNTIME)
-public @interface RadioAction {
-}
http://git-wip-us.apache.org/repos/asf/marmotta/blob/60ae655a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/dropdown.png
----------------------------------------------------------------------
diff --git a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/dropdown.png b/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/dropdown.png
deleted file mode 100644
index 8db7022..0000000
Binary files a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/action/dropdown.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/marmotta/blob/60ae655a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/dialog/task/CommandLink.java
----------------------------------------------------------------------
diff --git a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/dialog/task/CommandLink.java b/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/dialog/task/CommandLink.java
deleted file mode 100644
index c555156..0000000
--- a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/dialog/task/CommandLink.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (c) 2009-2011, EzWare
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.Redistributions
- * in binary form must reproduce the above copyright notice, this list of
- * conditions and the following disclaimer in the documentation and/or
- * other materials provided with the distribution.Neither the name of the
- * EzWare nor the names of its contributors may be used to endorse or
- * promote products derived from this software without specific prior
- * written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-package org.oxbow.swingbits.dialog.task;
-
-import javax.swing.Icon;
-import javax.swing.KeyStroke;
-
-import org.oxbow.swingbits.dialog.task.TaskDialog.CommandTag;
-
-public class CommandLink implements TaskDialog.Command {
-
- private final String instruction;
- private final String text;
- private final Icon icon;
-
- public CommandLink( Icon icon, String instruction, String text ) {
- this.instruction = instruction;
- this.text = text;
- this.icon = icon;
- }
-
- public CommandLink( String instruction, String text ) {
- this( null, instruction, text );
- }
-
- public String getInstruction() {
- return instruction;
- }
-
- public String getText() {
- return text;
- };
-
- public Icon getIcon() {
- return icon;
- }
-
-
-
- @Override
- public String getTitle() {
- return instruction;
- }
-
- @Override
- public CommandTag getTag() {
- return null;
- }
-
- @Override
- public String getDescription() {
- return text;
- }
-
- @Override
- public boolean isClosing() {
- return true;
- }
-
- @Override
- public int getWaitInterval() {
- return 0;
- }
-
- @Override
- public boolean isEnabled(boolean validationResult) {
- return true;
- }
-
- @Override
- public KeyStroke getKeyStroke() {
- return null;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/marmotta/blob/60ae655a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/dialog/task/ContentDesignFactory.java
----------------------------------------------------------------------
diff --git a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/dialog/task/ContentDesignFactory.java b/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/dialog/task/ContentDesignFactory.java
deleted file mode 100644
index e60a71a..0000000
--- a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/dialog/task/ContentDesignFactory.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (c) 2009-2011, EzWare
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.Redistributions
- * in binary form must reproduce the above copyright notice, this list of
- * conditions and the following disclaimer in the documentation and/or
- * other materials provided with the distribution.Neither the name of the
- * EzWare nor the names of its contributors may be used to endorse or
- * promote products derived from this software without specific prior
- * written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-package org.oxbow.swingbits.dialog.task;
-
-import org.oxbow.swingbits.dialog.task.design.DefaultContentDesign;
-import org.oxbow.swingbits.dialog.task.design.LinuxContentDesign;
-import org.oxbow.swingbits.dialog.task.design.MacOsContentDesign;
-import org.oxbow.swingbits.dialog.task.design.WindowsContentDesign;
-import org.oxbow.swingbits.util.OperatingSystem;
-
-public class ContentDesignFactory {
-
- private ContentDesignFactory() {}
-
- public static final IContentDesign getDesignByOperatingSystem() {
-
- switch( OperatingSystem.getCurrent() ) {
- case MACOS : return new MacOsContentDesign();
- case LINUX : return new LinuxContentDesign();
- case WINDOWS: return new WindowsContentDesign();
- default : return new DefaultContentDesign();
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/marmotta/blob/60ae655a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/dialog/task/ICommandLinkPainter.java
----------------------------------------------------------------------
diff --git a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/dialog/task/ICommandLinkPainter.java b/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/dialog/task/ICommandLinkPainter.java
deleted file mode 100644
index 2f0b183..0000000
--- a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/dialog/task/ICommandLinkPainter.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2009-2011, EzWare
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.Redistributions
- * in binary form must reproduce the above copyright notice, this list of
- * conditions and the following disclaimer in the documentation and/or
- * other materials provided with the distribution.Neither the name of the
- * EzWare nor the names of its contributors may be used to endorse or
- * promote products derived from this software without specific prior
- * written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-package org.oxbow.swingbits.dialog.task;
-
-import java.awt.Graphics;
-
-import javax.swing.JComponent;
-
-public interface ICommandLinkPainter {
-
- void prepareSource( JComponent source );
- void paint(Graphics g, JComponent source );
-
-}
http://git-wip-us.apache.org/repos/asf/marmotta/blob/60ae655a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/dialog/task/IContentDesign.java
----------------------------------------------------------------------
diff --git a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/dialog/task/IContentDesign.java b/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/dialog/task/IContentDesign.java
deleted file mode 100644
index bdfd1df..0000000
--- a/launchers/marmotta-splash/src/ext/java/org/oxbow/swingbits/dialog/task/IContentDesign.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright (c) 2009-2011, EzWare
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.Redistributions
- * in binary form must reproduce the above copyright notice, this list of
- * conditions and the following disclaimer in the documentation and/or
- * other materials provided with the distribution.Neither the name of the
- * EzWare nor the names of its contributors may be used to endorse or
- * promote products derived from this software without specific prior
- * written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-package org.oxbow.swingbits.dialog.task;
-
-import org.oxbow.swingbits.dialog.task.design.TaskDialogContent;
-
-public interface IContentDesign {
-
-
- static final String ICON_INFO = "OptionPane.informationIcon";
- static final String ICON_QUESTION = "OptionPane.questionIcon";
- static final String ICON_WARNING = "OptionPane.warningIcon";
- static final String ICON_ERROR = "OptionPane.errorIcon";
-
-
- /**
- * UIDefaults key for task dialog "fewer details" icon
- */
- static final String ICON_FEWER_DETAILS = "TaskDialog.fewerDetailsIcon";
-
-
- /**
- * UIDefaults key for task dialog "more details" icon
- */
- static final String ICON_MORE_DETAILS = "TaskDialog.moreDetailsIcon";
-
-
- /**
- * UIDefaults key for task dialog command link icon
- */
- static final String ICON_COMMAND_LINK = "TaskDialog.commandLinkIcon";
-
-
- /**
- * UIDefaults key for task dialog message background color
- */
- static final String COLOR_MESSAGE_BACKGROUND = "TaskDialog.messageBackground";
-
-
- /**
- * UIDefaults key for task dialog instruction foreground color
- */
- static final String COLOR_INSTRUCTION_FOREGROUND = "TaskDialog.instructionForeground";
-
-
- /**
- * UIDefaults key for task dialog instruction font
- */
- static final String FONT_INSTRUCTION = "TaskDialog.instructionFont";
-
-
- /**
- * UIDefaults key for task dialog text font
- */
- static final String FONT_TEXT = "TaskDialog.textFont";
-
-
- /**
- * UIDefaults key for "More Details" label
- */
- static final String TEXT_MORE_DETAILS = "TaskDialog.moreDetailsText";
-
-
- /**
- * UIDefaults key for "Fewer Details" label
- */
- static final String TEXT_FEWER_DETAILS = "TaskDialog.fewerDetailsText";
-
-
-
-
- /**
- * Updates UIDefaults with appropriate design settings
- */
- void updateUIDefaults();
-
-
- /**
- * Builds and returns contents of task dialog
- * @return
- */
- TaskDialogContent buildContent();
-
-
- /**
- * Returns true if command buttons are locked ( should have the same size )
- * @return
- */
- boolean isCommandButtonSizeLocked();
-
-
- /**
- * Returns command link painter
- * @return
- */
- ICommandLinkPainter getCommandLinkPainter();
-
-}