You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by rw...@apache.org on 2014/04/29 22:32:41 UTC

svn commit: r1591089 - in /pivot/trunk: wtk-terra/src/org/apache/pivot/wtk/skin/terra/ wtk/src/org/apache/pivot/wtk/

Author: rwhitcomb
Date: Tue Apr 29 20:32:41 2014
New Revision: 1591089

URL: http://svn.apache.org/r1591089
Log:
PIVOT-947:  Add hooks to VFS Browser dialog to add components.

* Add two methods to the TerraVFSBrowserSheetSkin:
  . "addLabelComponent"
  . "getBrowser"
* Implement "addLabelComponent" there by adding the component to the "hostNameBoxPane".
* Add new constructor to VFSBrowserSheet to take FileObject values instead of Strings.
* Extend the VFSBrowser.Skin interface to add an "addActionComponent" method and implement
  it by deferring to the real skin.
* Make the button BoxPane accessible to the TerraVFSBrowserSkin from the bxml and implement
  "addActionComponent" by adding the new component there.

Modified:
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSheetSkin.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSkin.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/terra_vfs_browser_skin.bxml
    pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowser.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowserSheet.java

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSheetSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSheetSkin.java?rev=1591089&r1=1591088&r2=1591089&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSheetSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSheetSkin.java Tue Apr 29 20:32:41 2014
@@ -608,4 +608,14 @@ public class TerraVFSBrowserSheetSkin ex
         Sequence<TablePane.Row> rows = tablePane.getRows();
         rows.insert(row, rows.getLength() - 1);
     }
+
+    public void addLabelComponent(Component component) {
+        hostNameBoxPane.setVisible(true);
+        hostNameBoxPane.add(component);
+    }
+
+    public VFSBrowser getBrowser() {
+        return this.fileBrowser;
+    }
+
 }

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSkin.java?rev=1591089&r1=1591088&r2=1591089&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSkin.java Tue Apr 29 20:32:41 2014
@@ -756,6 +756,8 @@ public class TerraVFSBrowserSkin extends
     private Component content = null;
 
     @BXML
+    private BoxPane pushButtonPane = null;
+    @BXML
     private ListButton driveListButton = null;
     @BXML
     private ListButton pathListButton = null;
@@ -1159,6 +1161,11 @@ public class TerraVFSBrowserSkin extends
         return file;
     }
 
+    @Override
+    public void addActionComponent(Component component) {
+        pushButtonPane.add(component);
+    }
+
     public boolean isKeyboardFolderTraversalEnabled() {
         return keyboardFolderTraversalEnabled;
     }
@@ -1463,4 +1470,5 @@ public class TerraVFSBrowserSkin extends
             }
         }));
     }
+
 }

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/terra_vfs_browser_skin.bxml
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/terra_vfs_browser_skin.bxml?rev=1591089&r1=1591088&r2=1591089&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/terra_vfs_browser_skin.bxml (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/terra_vfs_browser_skin.bxml Tue Apr 29 20:32:41 2014
@@ -54,7 +54,7 @@ limitations under the License.
                     </itemRenderer>
                 </ListButton>
 
-                <BoxPane styles="{verticalAlignment:'center', spacing:0}">
+                <BoxPane bxml:id="pushButtonPane" styles="{verticalAlignment:'center', spacing:0}">
                     <PushButton bxml:id="goUpButton" styles="{toolbar:true}" tooltipText="%goUp">
                         <content:ButtonData icon="@folder_up.png"/>
                     </PushButton>

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowser.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowser.java?rev=1591089&r1=1591088&r2=1591089&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowser.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowser.java Tue Apr 29 20:32:41 2014
@@ -43,6 +43,7 @@ public class VFSBrowser extends Containe
      */
     public interface Skin extends org.apache.pivot.wtk.Skin {
         public FileObject getFileAt(int x, int y);
+        public void addActionComponent(Component component);
     }
 
     private static final URI USER_HOME = new File(System.getProperty("user.home")).toURI();
@@ -496,6 +497,11 @@ public class VFSBrowser extends Containe
         return fileBrowserSkin.getFileAt(x, y);
     }
 
+    public void addActionComponent(Component component) {
+        VFSBrowser.Skin fileBrowserSkin = (VFSBrowser.Skin) getSkin();
+        fileBrowserSkin.addActionComponent(component);
+    }
+
     public ListenerList<VFSBrowserListener> getFileBrowserListeners() {
         return fileBrowserListeners;
     }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowserSheet.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowserSheet.java?rev=1591089&r1=1591088&r2=1591089&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowserSheet.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowserSheet.java Tue Apr 29 20:32:41 2014
@@ -192,6 +192,48 @@ public class VFSBrowserSheet extends She
         installSkin(VFSBrowserSheet.class);
     }
 
+    /**
+     * Creates a new VFSBrowserSheet
+     * <p>
+     * Note that this version of the constructor must be used when a custom home folder has to be set.
+     *
+     * @param manager
+     * The VFS FileSystemManager that we will be browsing.  If <tt>null</tt> the default (local) will
+     * be used.
+     *
+     * @param mode
+     * The mode for opening the sheet.
+     * @see Mode
+     *
+     * @param rootFolder
+     * The root folder object.
+     *
+     * @param homeFolder
+     * The default for the "home" folder object.
+     */
+    public VFSBrowserSheet(FileSystemManager manager, Mode mode, FileObject rootFolder, FileObject homeFolder)
+            throws FileSystemException
+    {
+        if (mode == null) {
+            throw new IllegalArgumentException("Mode is null.");
+        }
+
+        if (rootFolder == null) {
+            throw new IllegalArgumentException("Root folder is null.");
+        }
+
+        this.mode = mode;
+
+        // Note: these three methods all could trigger events, but since we're
+        // in the constructor and the skin isn't set yet, there will not be any
+        // listeners registered yet
+        setManager(manager);
+        setRootDirectory(rootFolder);
+        setHomeDirectory(homeFolder == null ? rootFolder : homeFolder);
+
+        installSkin(VFSBrowserSheet.class);
+    }
+
     public FileSystemManager getManager() {
         return manager;
     }